zoukankan      html  css  js  c++  java
  • Android 内存管理中的 Shallow heap Retained heap

    所有包含Heap Profling功能的工具(MAT,Yourkit,JProfiler,TPTP等)都会使用到两个名词,一个是Shallow heap Size,另一个是 Retained heap Size. 

    shallow heap:

    Shallow heap size =对象自身占用的内存大小,不包括它引用的对象。 还会包括一些java语言特性的数据存储单元。
                     对于数组对象,它的大小是数组元素对象内存的总和。

    Retained heap:

    Retained heap size = 当前对象大小+当前对象可直接或间接引用到的对象的大小总和。
              (间接引用的含义:A->B->C, C 就是间接引用)
               Retained Size就是当前对象被GC后,从Heap上总共能释放的内存大小。
              释放大小需要减去被GC Roots直接或间接引用的对象。

    假如虚线不存在:

    shallow size 缩写:ss

    retained size 缩写:rs

    GC root 直接引用了A,B对象

    ssA = rsA  同理D,E对象也如此

    rsB =  ssB + ssD + ssC + ssE

    rsC= ssC+ ssE

     虚线如果存在:

    rsB = ssD + ssC

    rsC= ssC

  • 相关阅读:
    se 键盘鼠标操作事件
    警告框操作方法(alert弹窗)
    se自带截图方法
    CSS Selector 高级用法
    吃奶酪
    互不侵犯
    hdu1102
    P4744 Iron man
    玉米田
    状压dp题单
  • 原文地址:https://www.cnblogs.com/polo/p/9969835.html
Copyright © 2011-2022 走看看