0

我正在使用 Android Studio3.5.1 使用示例 Java 方法选项使用 Android-Profiler 进行 cpu 分析。当我使用的方法的非优化版本时,方法会在方法跟踪窗格中列出。但是当我尝试使用相同方法的优化版本时,该方法没有在窗格中列出。

尝试了两个版本的相同方法。

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);
     }*/
 } 

4

1 回答 1

0

找到了答案。

在这里更新,因为有人可能有类似的问题。

基于采样的跟踪的一个固有问题是,如果您的应用程序在捕获调用堆栈后进入一个方法并在下一次捕获之前退出该方法,则分析器不会记录该方法调用。如果您对生命周期如此短的跟踪方法感兴趣,则应使用检测跟踪。

公文字

谢谢。

快乐编码。

于 2019-11-05T02:55:38.600 回答