zoukankan      html  css  js  c++  java
  • Leakcanary

    一、什么是内存泄漏

    垃圾回收器无法回收应被回收的对象
    比如:在Activity生命周期过程中,旋转屏幕时应新建activity,原activity应被销毁。但如果线程一直在引用此activity,则会出现OOM(out of memory)

    二、常规检查内存泄漏的方法
    1.通过统计平台了解oom
    2.重现问题
    3.在内存泄漏时dump内存
    4.使用内存分析工具反复查看
    常用java内存分析工具有MAT、YourKit

    三、Leakcanary和MAT、YourKit对比

    MAT -- 分析起来步骤繁琐,每次抓到dump文件,先要使用”hprof-conv test.hprof test1.hprof” 转换,再使用MAT分析。分析难度较高,初级工程师较难分析。

    YourKit -- 商业化工具

    Leakcanary -- 简单易用,查看路径简单,且实时记录log

    四、Leakcanary用法


    官方:https://github.com/square/leakcanary

    build - clean project    加载Leakcanary   代码行中可联想出“Leakcanary”

    通知栏中查看oom路径   查看reference  哪些地方引用了该类导致oom 

    并可实时抓取logcat日志,查看leakcanary日志。

  • 相关阅读:
    python之名称空间
    python之对象(实例)
    python之类
    python之类和对象
    python之面向对象的程序设计
    python之函数联系
    Python之函数第三篇
    python之列表和生成器表达式篇
    网络基本概念
    Git
  • 原文地址:https://www.cnblogs.com/biang/p/5985793.html
Copyright © 2011-2022 走看看