网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的教程攻略:

 

标题 Linux系统Dalvik堆内存的管理与回收介绍
分类 软件教程
内容     
    Linux系统Dalvik虚拟机中可以对Android进行一些优化处理,而对堆内存的管理和回收是优化系统的重要手段。本文就来介绍一下Linux系统Dalvik堆内存的管理与回收。
    Linux系统Dalvik堆内存的管理与回收介绍
    Android系统启动
    Android系统启动后,会有一个Zygote进程创建第一个Dalvik虚拟机,它只维护了一个堆。以后启动的所有应用程序进程是被Zygote进程fork出来的,并都持有一个自己的Dalvik虚拟机。在创建应用程序的过程中,Dalvik虚拟机采用COW策略复制Zygote进程的地址空间。
    COW策略:一开始的时候(未复制Zygote进程的地址空间的时候),应用程序进程和Zygote进程共享了同一个用来分配对象的堆。当Zygote进程或者应用程序进程对该堆进行写操作时,内核就会执行真正的拷贝操作,使得Zygote进程和应用程序进程分别拥有自己的一份拷贝,这就是所谓的COW。因为copy是十分耗时的,所以必须尽量避免copy或者尽量少的copy。
    为了实现这个目的,当创建第一个应用程序进程时,会将已经使用了的那部分堆内存划分为一部分,还没有使用的堆内存划分为另外一部分。前者就称为Zygote堆,后者就称为Active堆。这样只需把zygote堆中的内容复制给应用程序进程就可以了。以后无论是Zygote进程,还是应用程序进程,当它们需要分配对象的时候,都在Active堆上进行。这样就可以使得Zygote堆尽可能少地被执行写操作,因而就可以减少执行写时拷贝的操作。在Zygote堆里面分配的对象其实主要就是Zygote进程在启动过程中预加载的类、资源和对象了。这意味着这些预加载的类、资源和对象可以在Zygote进程和应用程序进程中做到长期共享。这样既能减少拷贝操作,还能减少对内存的需求。
    类似于JVM,Dalvik虚拟机也需要负责对堆内存中的对象进行管理工作,它使用的也是标记清除算法,但是细节上略有区别。
    
    
     上一页12下一页 43. 这一生最幸运的事就是与你相遇,最兴奋的事是与你相爱,最快乐的事是与你相聚,最悲伤的事是与你分离。 剩下全文
    
        Linux系统Dalvik堆内存的管理与回收介绍螳螂捕蝉声东击西,黄雀在后七上八下42. 向来就不太喜欢幼稚的男人。男人幼稚虽然和年龄有关,但是我觉得大多就是个人的素质。有些人,一辈子就这样低俗下去。看见别人遥不可及,恨恨。word came that … 有消息传来……193.随风潜入夜,润物细无声。《春夜喜雨》    江南梦断横江渚。浪粘天、葡萄涨绿,半空烟雨。无限楼前沧波意,谁采频花寄取?但怅望、兰舟容与,万里云帆何时到?送孤鸿、目断千山阻。谁为我,唱金缕。已似长沙傅,从今又几年?dalvik虚拟机,Linux内存管理6、Keep something for a rainy day.
随便看

 

霍普软件下载网教程攻略栏目提供软件使用教程、手机游戏攻略等方法技巧。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/25 1:23:07