搜课云网 > 珠海达内IT教育 > 资讯总汇 > Android知识:分配与回收内存

Android知识:分配与回收内存

机构:珠海达内IT教育 时间:2016-07-27 10:48:31 点击:911

  逻辑上讲的heap size和实际物理上使用的内存数量是不等的,Android会计算一个叫做Proportional Set Size(PSS)的值,它记录了那些和其他进程进行共享的内存大小。(假设共享内存大小是10M,一共有20个Process在共享使用,根据权重,可能认为其中有0.3M才能真正算是你的进程所使用的)

  Dalvik heap与逻辑上的heap size不吻合,这意味着Android并不会去做heap中的碎片整理用来关闭空闲区域。Android仅仅会在heap的尾端出现不使用的空间时才会做收缩逻辑heap size大小的动作。

  但是这并不是意味着被heap所使用的物理内存大小不能被收缩。在垃圾回收之后,Dalvik会遍历heap并找出不使用的pages,然后使用madvise(系统调用)把那些pages返回给kernal。

  因此,成对的allocations与deallocations大块的数据可以使得物理内存能够被正常的回收。

  然而,回收碎片化的内存则会使得效率低下很多,因为那些碎片化的分配页面也许会被其他地方所共享到。

  更多资讯,请访问珠海Android课程培训学校

师资介绍
免费试听

免费体验课开班倒计时

11: 59: 59

稍后会有专业老师给您回电,请保持电话畅通

咨询电话:15893081958
陈老师 QQ:3429316823