HProf 在 Android Studio 中的展示详解,基于我对其的理解,我将其根据 heap,count,size,其他将其分成了 4 个层次。

第一层 Heap 分类

Heap 共分为:

zygote heap: 与 android zygote 进程共享的 heap

image heap: 与系统共享的 heap

app heap: 应用本身的 heap

第二层 引用次数 total count,heap count

total count : 表示该类在以上 3 个 Heap 中被引用的次数之和,也即等于上面三个 Heap 的 heap count 之和

heap count : 表示该类在当前 Heap 中被引用的次数

第三层 各种size的含义, sizeof,shallow size,retained size,dominatin size

sizeof : 类的大小,相当于 c 语言中的 sizeof 运算符。不过,在 android/java 中,就是各成员变量加起来之和了。一个空对象的大小为 8 ,因为其继承的 Object 大小就是 8。再比如,String的sizeof 就是 16,其大小就是自己的两个整型成员变量的大小加上Object的大小。另外,一个引用其大小本身是 4 ,基本数据类型的大小就是 Java 中的定义的,数组没有大小。

shallow size : 表示该类或者类的实例的所占用的实际内存大小。类的 shallow size 等于该类的所有实例的 shallow size 大小之和。而实例的shallow size 一般就是 sizeof 的大小。基本类型是没有 shallow size 的。

retained size : 表示能被该类直接和间接引用到的类的 shallow size 之和,且包括自身的 shallow size.当一次 GC并发生内存回收后,能被虚拟机回收的最大内存大小。只是说是最大,不能完全回收掉,因为可能有些类还会被别的类引用到,就不能进行回收。

dominatin size:表示该对象能管理到的内存大小,为实例的 shallow size大小与其成员的shallow size之和,注意 shadow$_klass_是没有被计算在内的

第四层 instance,level,Refrence Tree

instance : 表示类所对应的实例的个数

level : 引用级数

Refrence Tree : 引用的树形链,跟 TraceView 中的差不多。根据引用链可以找出这个实例是如何被分配的。

android studio 分析 hprof,Android Studio 中的 HProf静态分析相关推荐

  1. android菜单更改,Android修改分析:删除设置中菜单

    Android修改分析:删除设置中菜单 设置中的菜单主要分为两种添加方式: `` 1.静态加载 所谓自主添加,就是通过xml文件,自主通过添加布局到Fragment.Activity等加载到设置菜单中 ...

  2. Android架构分析之Android消息处理机制(一)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在这个系列文章中我们将来分析Android消息处理机制. 本文介绍了一个使用Han ...

  3. android crash分析工具,Android Crash之Native Crash分析

    前言 上一篇给大家介绍了Android Crash中的Java Crash分析,我们可以知道Java Crash一般会弹出提示框告诉我们程序崩溃了,通常使用Crash工具都能够捕获到:本篇博客来谈谈如 ...

  4. android逆向分析so,Android逆向——so反编译分析由浅入深(回帖奖励)

    如果可以,请自己编写so文件库,然后进行反编译自行学习.这样的进步是最快的. 这篇分析仅此一份,心血付出. 0x00 前言 说明 1.之前学习Android逆向的时候跑的太快,很多东西没有咀嚼直接吞咽 ...

  5. android内存分析命令,Android内存问题分析一些命令

    1. 查看当前手机HEAP size 设定 adb shell getprop | grep heap [dalvik.vm.heapgrowthlimit]: [192m] [dalvik.vm.h ...

  6. Android木马分析实验,Android木马简介与分析

    本文介绍基于Android的手机恶意软件,是一个基础性的介绍,给新入门的人提供一个分析和工具指引.要分析的木马是一个2013年的syssecApp.apk,这个木马的分析能对Android恶意软件有个 ...

  7. 转 android anr 分析示例,Android ANR 分析与解决

    今天解决了一个ANR异常问题,心情愉悦,原来ANR分析解决很简单(可能问题本来比较简单吧~~暂做参考) 三个步骤搞定: 步骤一:重现ANR 异常 对着界面一顿操作...直至弹出anr提示 步骤二:拉取 ...

  8. android fbe分析,(原创)Android FBE加密源码分析(二)

    上一篇最后讲到,dispatchCommand是通过调用runCommand来执行具体的CMD操作,这一篇会接着说明.在进行说明前,需要先了解FBE的一些内容,为什么需要这些内容呢?因为在接下来的分析 ...

  9. android 行车记录仪分析,基于Android架构行车记录仪的异常掉电可播放视频方法与流程...

    本发明涉及摄录像视频技术领域,特别涉及一种基于Android架构行车记录仪的异常掉电可播放视频方法. 背景技术: 随着车联网概念的兴起和技术的积累,越来越多的智能设备被接入到车辆上.行车记录仪作为非常 ...

  10. android 行车记录仪分析,基于Android的智能行车记录仪的设计与实现.doc

    基于Android的智能行车记录仪的设计与实现 摘要:移动互联网的出现,极大的方便了人们的衣食住行,同时人们当下对行车安全非常看重,因此设计一款智能行车记录仪APP便可以解决行车安全中的一些需求,如有 ...

最新文章

  1. SQLALchemy之Python连接MySQL
  2. 三十三、分治算法---汉诺塔问题
  3. 第19节 项目整体绩效评估.
  4. Git SSH Key生成,配置到GitHub 并测试
  5. MySql隔离级别多线程并发读取数据时的正确性
  6. 微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊
  7. ZooKeeper 的Web管理工具Shepher介绍
  8. 在NT系列操作系统里让自己“消失”
  9. 基线理解_使用递归神经网络的上下文口语理解论文阅读
  10. SQL Server完整性备份说明
  11. 下载laravel框架
  12. matlab filter freqz
  13. 分形吧matlab,Matlab在分形模拟上的一些应用
  14. PS安装失败解决方法
  15. 通过app NA渲染后的app source 抓包
  16. 攻克银联QPBOC L2认证的最后两个不过的案例(POS与卡片的数据交互分析)
  17. 计算机英语口语900句,日常英语口语900句
  18. oracle用户 expire,Oracle 账号 EXPIRED(GRACE) 意义-拾亿
  19. 前端面试题---2022
  20. 【Error】初始化ant design pro项目时遇到“pro 不是内部或外部命令”

热门文章

  1. 微信小程序二维码图片的宣传方法都有哪些
  2. 什么是金融界的NP服务?
  3. 二叉搜索树(BST)Go实现
  4. 未来教育计算机一级一本通光盘,《未来教育·2010全国计算机等级考试:一本通一级B》低价购书_计算机与互联网_孔网...
  5. F. Kate and imperfection
  6. vulnhub之DC9靶机
  7. 西刺代理有效高匿代理爬取demo
  8. Part2.4——Linux下的定时任务与延时任务
  9. char* buf和char buf[64],定义两种字符串作为参数传递给函数的区别
  10. unity按钮控制动画