android专项-内存分析

作者: _夏兮 | 来源:发表于2017-08-05 11:38 被阅读153次

    MAT下载地址:mat下载

    1、导出.hprof文件

    1.1 使用Androidstudio—>tools—>Android Device Monitor->进入DDMS

    1)界面中选出应用程序的包名

    2)点击Update Heap来更新统计信息(实现界面操作)

    3)开始进行测试,测试结束后,点击Cause GC

    4)点击Dump HPROF file,将该应用当前的内存信息保存成hprof文件

    1.2 使用AS ->android Monitor 

    1)选择device,应用包名

    2)开始测试,结束测试,点击memory旁边的小车图案手动触发GC

    4)点击小车旁边的图案,将该应用当前的内存信息保存成hprof文件

    5)打开 captures 文件夹找到4中生成的hprof文件, export to standard hprof。

    2、数据分析

    2.1 使用AS进行分析

    如果你的AS没有这功能请更新版本

    打开1.2 中第4布生成的文件

    AS analysis

    2.2 使用MAT分析

    2.2.1 DDMS 测试结束后点击Cause GC,点击Dump HPROF file/AS 导出标准的.hprof

    2.2.2 MAT导入.hprof

    2.2.3 Histogram查询

    2.2.4 第一行可以输入正则表达式来匹配结果

    Histogram

    2.2.5 右键—>Merge Shortest Path To GC Roots->exclude allphantom/weak/soft etc. references

    2.2.6 结果

    由图可以看出class com.evideo.*.*.* @ 0x42651678组件调用com.evideo.*.*.* @ 0x426e98d8,导致的内存泄露this$0 间接引用

    this$0 间接引用

    相关文章

      网友评论

        本文标题:android专项-内存分析

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