Режим трассировки позволяет разработчику оценивать скорость выполнения программы (или ее части) и определять пути по улучшению производительности.
Трассировка Activity
1. подключить трассировку приложения:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//трассировка в файл my.trace в корень на карточку
Debug.startMethodTracing("my");
}
@Override
protected void onDestroy() {
//остановить трассировку
Debug.stopMethodTracing();
super.onDestroy();
}
2. После работы приложения под трассировщиком скопировать файл my.trace из карточки в каталог SDK tools
из командной строки: adb pull sdcard/my.trace my.trace
Если используется IDE (Eclipse, Android Studio) файл можно скопировать с помощью File explorer из состава DDMS.
3. Запуск программы просмотра трассировки
traceview my.trace
Описание колонок:
Incl% и Inclusive – Время (и в процентах от общего времени), проведенное в этом методе, включая все методы, которые он вызывает (в миллисекундах)
Excl% и Exclusive – Время (и в процентах от общего времени), затраченное на выполнение фактически в этом методе. Без вложенных функций.
Calls+Recursive calls – Два значения: число раз, сколько раз этот метод вызывался (из вне) и сколько раз он вызывал себя
Time/ Cal – время потраченное на вызов (см. пред. столбец)
Группа “Parents” являются методами, которые будут вызывать этот метод. Группа “Children” – вызывают данным метод
Подробнее про утилиту Traceview читайте в этой статье (EN).
В 1С аналогичный механизм (наиболее близкое понятие) называется «Замер производительности».
Posted in: Производительность и отладка