Android性能优化使用自带的Profiler功能分析traceView文件
原创
©著作权归作者所有:来自51CTO博客作者yongfengnice的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 使用Android studio自带的profiler功能生成trace文件
- 分析profiler生成trace文件
- 有时需要分析app冷启动时间耗时情况,单独使用profiler功能生成trace文件就有点不好操作,可以借助代码生成trace文件,然后再通过profiler功能进行分析
//开始trace
if (getContext().getPackageName().equals(Application.getProcessName())){//只trace主进程的
Debug.startMethodTracing("tracePath");
}
//停止trace,同一个进程有一个开始有一个结束才会生成trace文件,不然文件为空
if (getContext().getPackageName().equals(Application.getProcessName())){//只trace主进程的
Debug.stopMethodTracing();
}
//生成的文件在自己包名目录下比如 /sdcard/Android/data/包名/files/tracePath.trace,或者有的手机是sdcard的根目录下比如 /sdcard/tracePath.trace
//最后通过adb pull命令导出到自己电脑上,比如 adb pull xxx/tracePath.trace /电脑目录
//1.super.attachBaseContext(context)方法之后调用getContext().getPackageName()才不会报错,或者使用参数context比如context.getPackageName()
//2.需要有外部存储卡读写权限,最好手动给够存储卡读写权限
//3.其实不用adb pull命令导出到自己电脑也可以,使用AndroidStudio的DeviceFileExplorer找到文件导出保存即可
- 使用Android studio的profile功能加载第三步代码生成的trace文件进行分析,分析方法步骤和第2步一样