Почему мой метод Java не указан в CPU-Profiler в AndroidStudio3.5.1? - PullRequest
0 голосов
/ 01 ноября 2019

Я выполняю профилирование процессора с помощью Android Studio3.5.1 с помощью Android-Profiler, используя опцию Sample Java Method. При использовании неоптимизированной версии метода, который я использую, метод отображается в области трассировки метода. Но когда я пытаюсь использовать оптимизированную версию того же метода, метод не отображается в панели.

Пробовал использовать две версии одного и того же метода.

public int computeFibonacci(int positionInFibSequence) {
     int prev = 0;
     int current = 1;
     int newValue;
     for (int i=1; i<positionInFibSequence; i++) {
         newValue = current + prev;
         prev = current;
         current = newValue;
     }
     return current;

     /*if (positionInFibSequence <= 2) {
         return 1;
     } else {
         return computeFibonacci(positionInFibSequence - 1)
                 + computeFibonacci(positionInFibSequence - 2);
     }*/
 } 

1 Ответ

0 голосов
/ 05 ноября 2019

Найден ответ.

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

Внутренняя проблема трассировки на основе выборки заключается в том, что если ваше приложение вводит метод после захватастека вызовов и выходит из метода до следующего захвата, этот вызов метода не регистрируется профилировщиком. Если вас интересуют методы трассировки с такими короткими жизненными циклами, вам следует использовать инструментальную трассировку.

слово официального документа

Спасибо.

Счастливое кодирование.

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