Страницы

Поиск по вопросам

воскресенье, 1 марта 2020 г.

Измерение времени отработки метода для Android [дубликат]

#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

Комментариев нет:

Отправить комментарий