Android 内存检查

  本文简单介绍了如何使用 DDMS 和 MAT 工具来对 android 进行内存检查,了解 android 内存的具体占用情况。

步骤1. 使用 DDMS 观察内存的使用情况

  环境准备:电脑安装了 android sdk,手机端开启了 USB 调试开关, 将手机连接 PC。

  可以单独使用 ddms,或者在 android studio中Tools -> Android -> android device monitor, 选择待调试的 device 和进程。

步骤2. 内存使用异常时 dump hprof files

  正常情况下 allocated size 值都会稳定在一个有限的范围内,每次 GC 之后都会释放,如果发现 allocated size 一直增加没有得到释放,这说明内存占用存在问题,可能存在内存泄露。点击左侧的 dump java heap,导出 hprof 文件,假设命名为 test.hprof。

步骤3. 使用 MAT 分析 hprof 文件

(1)首先下载 MAT 工具,MAT 可以是 eclipse 插件,也可以下载一个独立的应用。

MAT 工具的下载地址:http://www.eclipse.org/mat/downloads.php

(2)步骤2中导出的 hprof 文件不能直接被 MAT 解析,需要转换一下:

cmd 进入 sdk\tools 目录,比如:cd E:\AutoTestProj\AutoTest\tools\android_sdk\tools;

(3)将步骤2中导出的 test.hprof 拷贝到该目录下;

(4)运行cmd:hprof-conv  test.hprof  output.hprof

则该目录下会生成 output.hprof 文件;

(5)MAT工具导入 hprof  文件

file -> open heap dump -> 选择 output.hprof,可以看到 leak suspects 分析报告。如果发现问题,需要及时和开发沟通解决。

最新文章

  1. Windows下Visual studio 2013 编译 Audacity
  2. Yocto开发笔记之《Tip-stdlib库函数strtod返回nan错误》(QQ交流群:519230208)
  3. 【初探移动前端开发05】jQuery Mobile (整合版)
  4. C/C++实践笔记_002编译和链接
  5. td元素
  6. 使用yuicompressor-maven-plugin压缩js及css文件
  7. android项目在eclipse下编译运行的问题
  8. Linux最小化安装后配置网络
  9. tar.xz文件怎样解压
  10. Makefile分析基础
  11. double类型之四舍五入
  12. 如何兼容所有Android版本选择照片或拍照然后裁剪图片--基于FileProvider和动态权限的实现
  13. ASP.NET Core 入门
  14. Android启动过程分析
  15. IE下获取XPATH小工具,支持32/64位
  16. Linux 云计算运维之路
  17. problem:浏览器如何区分html超文本和普通文本
  18. SkylineGlobe 邻近度(Proximity)分析JavaScript源代码
  19. Surrounded Regions - LeetCode
  20. Linux I/O 调度器

热门文章

  1. ReactiveSwift源码解析(一) Event与Observer代码实现
  2. PHP 判断是否包含在某个字符串中
  3. js中的匿名函数自执行
  4. hibernate 返回对象指定属性,需要返回的列,可以直接返回 对象属性
  5. linux 下载文件到本地磁盘的命令是什么
  6. Mac用ssh登录Ubuntu14.04
  7. SQL联表查询
  8. 一个Ruby静态代码分析器 rubocop
  9. 1.0 配置 appium + java的环境
  10. Java 9 揭秘(10. 模块API)