Android内存检测工具

  1. AndroidProfiler (Androidstudio自带内存检测工具)

  2. MAT                 (Eclipse 中的内存检测工具),下载地址: http://www.eclipse.org/mat/downloads.php

  3. LeakCanary        (开源内嵌APP型内存检测工具) ,官网地址:https://www.liaohuqiu.net/cn/posts/leak-canary-read-me/

AndroidProfiler工具入口

  1. View->ToolsWindow->AndroidProfiler

 

内存分析实战

   由于公司项目,经常被系统干掉,所以看了下日志基本上都是因为内存占用过大引起(长时间出于后台运行),所以怀疑程序可能存在内存泄漏,故dump内存快照,放至AndroidProfiler中进行分析,查到UiWidget类中_attrs(Map<String,String>)对象中的value包含了DefaultElement对象的引用。但实际_attrs对象的value实际上是String类型,后经过排查发现UiState中的_attrs是由UiautomationParser对象创建而成,且其中的value直接引用了DefaultElement中的attributeValue属性,所以导致此对象存在了内存泄漏。故在引用DefaultElement对象中重新初始化一个String对象即可修复该问题。

图1(内存快照分析图)

Android内存测试实战(2)

 

图2(部分实现代码)

Android内存测试实战(2)

 

其他内存实战介绍

https://blog.csdn.net/wanghao200906/article/details/79305126

 

相关文章:

  • 2021-09-14
  • 2022-01-06
  • 2022-01-11
  • 2022-12-23
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2021-12-15
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
  • 2021-08-23
  • 2021-11-09
  • 2022-01-04
相关资源
相似解决方案