1. 什么是LeakCanary名惩?
leakCanary是Square開(kāi)源框架续捂,是一個(gè)Android和Java的內(nèi)存泄露檢測(cè)庫(kù)眷蜈,如果檢測(cè)到某個(gè) activity 有內(nèi)存泄露谒出,LeakCanary 就是自動(dòng)地顯示一個(gè)通知隅俘,所以可以把它理解為傻瓜式的內(nèi)存泄露檢測(cè)工具。通過(guò)它可以大幅度減少開(kāi)發(fā)中遇到的oom問(wèn)題笤喳,大大提高APP的質(zhì)量为居。
2. 使用LeakCanary
在build.gradle中引入依賴.
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
3. Application 配置
public class App extends Application {
@Override public void onCreate() {
super.onCreate();
LeakCanary.install(this);
}
}
配置非常簡(jiǎn)單, 會(huì)增加一個(gè)附屬應(yīng)用, 去掉Application的引用, 就可以移除LeakCanary.
在 debug build 中,如果檢測(cè)到某個(gè) activity 有內(nèi)存泄露杀狡,LeakCanary 就是自動(dòng)地顯示一個(gè)通知蒙畴。
LeakCanary 通知