使用android profile和LeakCanary内存泄漏相关
-
android profile的使用
-
LeakCanary
在applicatin类中加入
@Override
public void onCreate() {
super.onCreate();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);
在app的build.gradle中的dependencies加入
debugImplementation ‘com.squareup.leakcanary:leakcanary-android:1.6.1’
releaseImplementation ‘com.squareup.leakcanary:leakcanary-android-no-op:1.6.1’
// Optional, if you use support library fragments:
debugImplementation ‘com.squareup.leakcanary:leakcanary-support-fragment:1.6.1’
-
在AS中连接手机,run你想要测试的应用,run成功后会发现你会发现在你想要测试的应用旁会出现Leaks这个应用
-
利用android profile重复点击一个功能,看内存是否一直在飙升,如果内存一直上涨且不会下降,则说明大多数情况下该处的内存是有问题的,然后一直重复点击该页面/使用该功能,极有可能在LeakCanary会记录下该处的内存泄露问题
-
在你使用应用的过程中,如果该功能有内存泄漏的情况,则会提示
6.打开Leaks应用,会在列表上记录相应内存泄漏的记录,此时只要给相应的开发看,就可以啦