博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内存泄露-Android Studio 生成Dump 的 HPROF 文件查看和分析工具
阅读量:4147 次
发布时间:2019-05-25

本文共 766 字,大约阅读时间需要 2 分钟。

0. 文章参考

1. HPROF 文件 作用

HPROF查看工具会列出类、类的实例和实例的引用树,以此来帮助你跟踪内存的使用情况,找出内存泄漏的地方。

2. dump Hprof file

Android Studio 到导出 HPROF 文件步骤很简单,Moniter界面中点击 Dump Java Heap 即可

Dump Java Heap

3. HPROF文件查看工具的信息显示

名称 描述
Class Name 类名
Total Count 该类的实例总数
Heap Count 所选择的堆中该类的实例数量
Sizeof 单个实例所占空间大小(如果美国实例所占空间大小不一样,则显示0)
Shallow Size 堆里所有实例大小总和(Heap Count * Sizeof)
Retained Size 该类所有实例所支配的内存大小
Instance 具体实例
Reference Tree 所选实例的引用,以及指向该引用的引用
Depth GC 根节点到所选实例的最短路径的深度
Shallow Size 所选实例的大小
Dominating Size 所选实例所支配的内存大小

4. HPROF文件操作实例

4.1 打开 Capture 视图,选择 HPROF 文件

Capture

4.2 查看 堆信息

  1. App heap 当前 app 使用的堆
  2. Image heap 当前 app 在硬盘上的内存映射
  3. Zygot heap -zygot 复制时继承的库、运行时类和常量的数据库。zygote 空间设备启动时创建,从不分配这里的空间

App heap

4.2 查看视图类型

  1. Class List View
  2. Package Three View

查看视图类型

5. HPROF文件分析工具中分析数据(重要)

用HPROF分析工具可以检测到泄漏的activities、分析出重复定义的字串。步骤如下

Analysis Task

你可能感兴趣的文章
SpringCloud项目整合OSS对象存储
查看>>
Java重写equals方法
查看>>
Nginx+Windows搭建域名访问环境
查看>>
压力测试和性能优化实践
查看>>
缓存及分布式锁
查看>>
异步与线程池及异步编排
查看>>
消息队列RabbitMQ
查看>>
git进行项目版本管理
查看>>
SpringSecurity 退出登录使JWT失效的解决方案
查看>>
接口幂等性问题处理
查看>>
本地事务与分布式事务
查看>>
RabbitMQ消息队列处理库存解锁及关闭订单问题
查看>>
netty学习笔记
查看>>
mvcc多版本并发控制
查看>>
HashMap实现原理
查看>>
ThreadLocal技术详解
查看>>
ConcurrentHashMap解析
查看>>
TCP协议三次握手、四次挥手以及TCP窗口滑动机制
查看>>
【排序算法】- 希尔排序
查看>>
Int和Integer的区别
查看>>