? ? ? Android studio profiler CPU Profiler在与应用交互时实时检查应用的CPU 使用率和线程活动, 也可以检查记录的方法跟踪数据、函数跟踪数据和系统跟踪数据的详细信息。使用profiler跟踪进程活动时,需要对设备进行root操作。
? ?准备trace文件:
Application? 中的oncre方法中 添加?Debug.startMethodTracing("mingcheng")
@Override
public void onCreate() {
super.onCreate();
Debug.startMethodTracing("mingcheng");
}
主Activity? 中重写 onWindowFocusChanged()插入??Debug.stopMethodTracing();
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus){
Debug.stopMethodTracing();
}
}
启动app后 将trace文件pull 到电脑(trace文件会默认保存到sdcard/Android/data/包名/files下)
adb pull /sdcard/Android/data/包名/files D:\\others
?
? ? ? ?trace文件导入到 profiler中
?主要分析绿色代码,绿色代码为自己写的。
分析:
?Call chart其中详细显示了各种类型方法的调用栈,以及耗时信息,系统API 的调用为橙色,应用自有方法的调用为绿色,对第三方API(包括Java 语言API)的调用为蓝色,从左到右依次为函数调用顺序和堆栈。 ?Flame Chart将具有相同调用方顺序的完全相同的方法或函数收集起来,并在火焰图中将它们表示为一个较长的横条 ?Top Down/Bottom Up树形结构描述调用顺序及耗时 ?Wall clock time壁钟时间表示实际经过的时间。 ?Thread time线程时间= 实际经过的时间- 线程未消耗CPU 资源的时间,线程时间可以更好地了解到线程的实际CPU 使用率中有多少是给定函数消耗的
?
??
? ??
?
|