美文网首页
Android内存管理机制

Android内存管理机制

作者: 百花鱼藤 | 来源:发表于2019-01-22 21:43 被阅读0次

    Android采用虚拟内存和分页,支持交换,Android使用显式分配的共享内存区域。

    一、垃圾回收

       Android的垃圾收集器不带压缩整理功能(Compact),即不会对Heap做碎片整理。Android的内存堆是分代式(Generational)的,意味着它会将所有分配的对象进行分代,然后分代跟踪这些对象。 例如,最近分配的对象属于年轻代(Young Generation)。 当一个对象长时间保持活动状态时,它可以被提升为年老代(Older Generation),之后还能进一步提升为永久代(Permanent Generation)

    二、内存分配与回收

    Andorid采用弹性分配的策略,随着应用程序的的需要会逐步增加内存,直达最大的内存限制,Android为每个应用程序设置了堆大小的硬性限制。 该限制因设备而异,取决于设备总体可用的RAM。 如果应用程序已达到该限制并尝试分配更多内存,则会收到 OutOfMemoryError。

    三、应用切换

       应用切换时,会把当前应用的进程缓存起来,采用LRU算法,以便用户再次进入,快速的切换应用,当内存不够时,则从缓存中
    取出最少使用的那个进程,不过会综合考虑进程所占用的大小,占用的约大约有可能清除。Linux系统在进程活动停止后就结束该进程,而Android系统则会在内存中尽量长时间的保持应用进程,直到系统需要更多内存为止。

    相关文章

      网友评论

          本文标题:Android内存管理机制

          本文链接:https://www.haomeiwen.com/subject/kfnljqtx.html