0.Profiler
分析内存泄漏
分析调用堆栈?
1.leakcanary 检测内存泄漏
gradle:debugCompile 'com.squareup.leakcanary:leakcanary-android:1.6.1'
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG){
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);
}
}
2.systrace: 检测卡顿
打开ddms的方法:
异常Failed to load the jvm library.
使用方法:
使用ddms抓去trace.html遇到chrom无法解析的异常,于是采取以下方法:
首先安装python(Mac自带了):
然后配置mac的adb环境变量:
抓取命令:
cd /Users/xiaoguagua/Library/Android/sdk/platform-tools/systrace
python systrace.py -b 8000 -t 5 -o systrace.html
在chrome输入:chrome://tracing
查看文件
3.Perfetto:
Android下一代全新的统一的trace收集和分析框架,可以抓取平台和app的trace信息,可以显示为systrace,有图形化配置,使用极其简单。
工具地址:
使用参考:
部分功能对设备的android版本有要求,比如帧率扫描需要android12以上。