Android-студия Merge Trace.beginSection () и endSection (), чтобы получить общее время - PullRequest
0 голосов
/ 04 мая 2019

Я хочу улучшить некоторую часть своего приложения и поставить Trace.beginSection("MyLable"); и Trace.endSection();, чтобы увидеть время обернутых методов.

Но у меня возникли следующие проблемы:

  1. Во-первых, я не вижу свой пользовательский ярлык в профилировщике.
  2. Во-вторых, я хочу объединить Trace.beginSection и Trace.endSectionкак отдельный элемент, чтобы я мог рассчитать время обернутых методов.

enter image description here

Я пробовал это в Диаграмма вызовов и Flame Chart просмотр, но результат был тот же.У тебя есть идеи?

1 Ответ

0 голосов
/ 04 мая 2019

Как насчет измерения продолжительности трассировки?

long startMs = System.currentTimeMillis();
Trace.beginSection("someLabel");

/* do stuff */

long endMs = System.currentTimeMillis();
Trace.endSection();

Log.d(LOG_TAG, "trace duration: " + (endMs - startMs) + "ms");

Также см. systrace и Создание журналов трассировки с помощью инструментов вашего приложения .

Android Q добавляет четыре новых метода к Trace , но ничего, что бы указывало на продолжительность.

Начиная с Android P, на устройстве доступна systrace.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...