美文网首页
LeakCanary

LeakCanary

作者: 叙忆 | 来源:发表于2017-10-12 17:33 被阅读0次
    可以直接在手机端查看内存泄露的工具
    公司:square
    github:https://github.com/square/leakcanary
    用法:
    1.添加依赖
     debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'
     releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
    
    2.在自定义Application中添加
    public class ExampleApplication extends Application {
        @Override public void onCreate() {
            super.onCreate();
            LeakCanary.install(this);
        }
    }
    
    3.检测方法

    我们以性能优化-内存泄露案例分析
    当该应用出现内存泄露,会在手机上生成Leaks应用
    点击进入查看具体的内存泄露

    4.分析

    静态变量static MainActivity.mBeens
    引用了Arraylist,Bean.mContext
    导致MainActivity泄露

    5.原理

    本质上还是使用命令控制生成Hprof文件分析检查内存泄露
    然后发送通知
    Application
      -install()
    LeakCanary
      -androidWatcher()
    RefWatcher
      -new AndroidWatcherExecutor -->dumpHeap/分析
      -new AndroidHeapDumper
      -new ServiceHeapDumpListener

    相关文章

      网友评论

          本文标题:LeakCanary

          本文链接:https://www.haomeiwen.com/subject/uneoyxtx.html