#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
Комментариев нет:
Отправить комментарий