#java #android
На этот вопрос уже дан ответ здесь: Как правильно писать микро-тесты в Java? (1 ответ) Закрыт 2 года назад. Какие наилучшие способы измерения времени отработки метода, которые можно использовать в приложении для Android? Мне приходят на приходит на ум только два способа: 1) использовать просто System.nanoTime(): long startTime = System.nanoTime(); // выполнение метода end elapsedTime = System.nanoTime() - startTime; 2) использовать AspectJ Но по поводу обоих вышеприведённых способов у меня есть сомнения. По поводу первого способа: будет ли это измерение времени точным? И по поводу второго: не будет ли привносить много побочных эффектов типа увеличения времени компиляции и времени работы программы? Есть ли какое-либо лучшее решение?
Ответы
Ответ 1
Мне в свое время помог TimingLogger. Из документации : TimingLogger timings = new TimingLogger(YOUR_TAG, "methodA"); // ... do some work A ... timings.addSplit("work A"); // ... do some work B ... timings.addSplit("work B"); // ... do some work C ... timings.addSplit("work C"); timings.dumpToLog(); и вывод должен быть такой: D/TAG ( 3459): methodA: begin D/TAG ( 3459): methodA: 9 ms, work A D/TAG ( 3459): methodA: 1 ms, work B D/TAG ( 3459): methodA: 6 ms, work C D/TAG ( 3459): methodA: end, 16 ms Не забудте включить свой тэг в логах : adb shell setprop log.tag.YOUR_TAG VERBOSE PS: ссылка на origin: https://stackoverflow.com/questions/23913762/best-method-to-measure-execution-time-in-android
Комментариев нет:
Отправить комментарий