Android studio profiler中的Shallow size和retained sizes是什么意思
这个文章说得非常好:https://www.yourkit.com/docs/java/help/sizes.jsp#:~:text=YourKit%20Java%20Profiler%20is%20capable%20of%20measuring%20shallow,the%20number%20and%20types%20of%20%20its%20fields.
Shallow size:用于存储一个对象的内存大小,它引用的对象不计算在内。
Retained size:一个对象的Shallow size加上只有它可以直接或间接访问到的对象的Shallow size。当这个对象被回收时,Retained size所代表的内存都可以被回收。
引用文章开头的两张图:
参考上图,Shallow size 就是图中每个对象分到的内存大小。
在Figure1中:
obj1的Retained size = obj1+obj2+obj4
为什么obj5和obj3为什么不计算进来呢?因为它们不只有obj1直接或间接访问。
在Figure2中:
obj1的Retained size = obj1+obj2+obj3+obj4
不加obj5,是因为除了obj1,它还有其他对象访问它。
所以,在Figure1中,当obj1被垃圾回收时,obj2,obj4都会被回收。
在Figure2中,当obj1被垃圾回收时,obj2,obj3,obj4都会被回收。
Android studio profiler中的Shallow size和retained sizes是什么意思相关推荐
- android studio 自动try,Catch Try让我在Android Studio调试中感到困惑
我试图在Android Studio中调试这段代码.这一切看起来都非常简单,但尝试中的'return sb1'不允许我打破它(带有x的红点)并且说它不可执行.Catch Try让我在Android S ...
- 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...
- 关于Android Studio开发中“unfortunately, xxx has stopped”的错误提示
在Android Studio开发中,可能会遇到这样的情况:代码提示中没有任何的错误信息,但在运行虚拟机.点击某个按键进行操作时,可能会出现"unfortunately, xxx has s ...
- 如何在安卓(Android studio)项目中导入模块、jar包、和aar包
安卓(Android studio)编程中,我们常需要引用"别人写的功能",以扩展app的功能,"别人写的功能"主要有模块.jar包.和aar包三种方式. 下面 ...
- Android Studio编译中出现No static method metafactory怎么办?_莫韵乐与bug的奇妙冒险
Android Studio编译中出现No static method metafactory怎么办? 在build.gradle(:app)中的加入以下代码 android {//...compil ...
- Android Studio开发过程中BUG解决方案——持续更新
Android Studio开发过程中BUG解决方案: android萌新打怪升级之旅:android项目开发BUG集成 起笔时间:2022.5.20 版本:2021.2.1 问题描述1:无法查看/d ...
- 使用android studio查看内存,Android Studio Profiler使用心得 检测内存泄露问题
最近在分析app的内存泄露问题研究了下as的profiler功能 这里记录下个人心得 下面是个人心得 1.首先得出结论profiler不详细提供分析c或c++库进行的内存占用 其中包括android ...
- android studio 前言中不允许有内容_Android Studio 中 System Trace 的新增功能
在 Android Studio 4.0 中,我们已经对 CPU Profiler 的 UI 做了大量调整来提供更加直观的工作流记录,而在 Android Studio 4.1 中,我们基于开发者们的 ...
- Android Studio Profiler CPU检测卡顿
前言 Android Studio 3.0 及更高版本中的 Android Profiler 取代了 Android Monitor 工具.Android Profiler工具可提供实时数据,帮助您了 ...
- android studio 自动提示jni代码,如何将JNI(C/C++本机代码)添加到现有的Android Studio项目中...
从现有项目中执行以下步骤: 1.修改build.gradle(模块应用程序)看起来像这样(很多变化!): apply plugin: 'com.android.model.application' m ...
最新文章
- empty vocabulary; perhaps the documents only contain stop words
- linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
- NEFU 635(二分+枚举)
- cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
- java 获取子类实际的类型名_Java 泛型类 以及 泛型类获取子类的具体参数类型 以及 获取子类型具体参数的实例...
- mysql字段简索引_3万字总结,Mysql优化之精髓
- python 实现对象去重
- 深入浅出 妙用Javascript中apply、call、bind
- 解决Ubuntu无法定位软件包问题
- java获取行政区划编码(省市区县居委5级)
- 系统完全优化 全面剖析XP
- MAC开机密码破解方法
- Raspberry Pi使用USB摄像头远程监控
- java-php-python-ssm-心灵治愈服务平台-计算机毕业设计
- Python Pandas库 Series.dt.tz_localize()和 Series.dt.tz_convert()的简单使用
- 固话呼转的设置及取消方法
- Gitlab 设置页面语言为简体中文
- 【编程练习】小强去春游
- Linux系统 PDF转图片
- 将指定文字写入QImage中并保存成图片
热门文章
- linux配置网口的ip地址,Linux基本操作和基础命令(Linux修改IP地址以及修改网卡地址)...
- cycJava基础以及集合总结
- 【技术科普】HLS视频流内m3u8文件和TS切片是什么关系?
- 原相机怎么设置水印_原来手机拍照也可以添加文字、水印、超实用,我怎么没有早点发现...
- 在COMSOL中如何绘制贴片天线的S参数
- webservice 传输加密
- 【未来简史】读书笔记
- python的split函数作用_spilt函数 详解 for Python
- 【离散数学】偏序集Hasse图的画法和重要元素
- 《黑白团团队》第六次作业:团队项目系统设计改进与详细设计