Android内存管理中的垃圾收集性能优化

来源 :东南大学 | 被引量 : 0次 | 上传用户:ye77hao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
安卓操作系统运行的应用程序不需要开发者手动管理内存,而是使用垃圾收集对内存进行自动回收,在减少应用程序开发者的工作量、避免内存泄漏问题的同时,也因垃圾收集执行时需要暂停所有线程,给系统带来响应迟缓的不良后果,而且当前使用的是比较基础的标记-清除算法,这种算法扫描整个内存区域,造成暂停时间过长,需要予以优化和改进。  本文在分析了垃圾收集的各种基本算法和安卓的运行时环境后,在安卓原有的标记-清除算法基础上,设计并实现了分代垃圾收集来提升性能。分代垃圾收集基于统计规律,认为大部分对象都在年轻时成为垃圾,因此将垃圾收集的工作着重放在对年轻对象的收集上,在满足需求的前提下减少暂停时间。本文首先在安卓的堆资源中增加了分代位图,将所有堆中的对象分为年轻代和老年代,在一次垃圾收集完成后将存活的年轻代对象提升为老年代,然后在下一次垃圾收集开始时将老年代对象全部进行快速标记,在递归标记阶段中就可以集中扫描年轻代对象。为了避免被老年代引用的年轻代对象遭遇误收集的情况,本文建立了分代卡表来记录代间指针。为了在保证高效率的情况下避免内存泄漏,本文在绝大部分垃圾收集情况下使用快速的分代垃圾收集,而在不能满足需求时使用完全的垃圾收集。另外,还对分代垃圾收集中部分操作进行了并行化设计。  使用(0)xBenchmark测试软件,在采用OMAP4460处理器的Pandaboard开发平台上对本文设计的分代垃圾收集进行测试。结果表明:在测试程序整体用时方面,最快用时2491毫秒,平均用时3332毫秒,平均用时缩短了20.83%;在对不同深度二叉树进行不断申请、释放的分项测试中,每一项用时平均缩短25.9%;在对单次垃圾收集所花费的暂停时间的测试中,单次暂停时间平均缩短29.4%;另外在对收集率的测试中,分代垃圾收集未见内存泄露的现象。
其他文献
磷是作物生长发育不可缺少的营养元素之一,但由于磷在土壤中有效性很低,植物自身对土壤磷的利用能力不足,产生“遗传学缺磷”的现象。缺磷是限制目前农作物产量的一个重要因素,传
植物遗传转化经历了由“能够实施遗传转化”到“提高遗传转化事件的质量”两个阶段。第一阶段,人们试图转化更多的植物品种和尽量提高遗传转化效率。第二阶段,人们开始着手解决
按照历史教科书,人类从最原始的石器时代发展到现在不超过一万年时间.但事实上,人类已经在世界各地发现了许多比现在人类文明还要古老的文明古迹,这又是怎么回事呢?rn根据这
期刊
据新闻网报道:2015年10月3日,香港一名中年女子猝死于一家24小时营业的麦当劳内,数小时后被发现.这名死者就是被称为“麦难民”的人.rn麦当劳大家都知道,但“麦难民”是什么
期刊
根据科学家们的探索,地球已经存在了有大约46亿年的时间.在前面的大约40亿年,我们几乎一无所知.rn而在大约5亿年前的寒武纪,地球突然涌现出了许多生物,让这个星球瞬间充满了
期刊
学校掀起了“冠军潮”rn2016年,陈子烽在亲戚的推荐下来到了广州市建筑工程职业学校,学习工程测量专业,在外工作两年后回到学校,看着久违的课桌和实验室,还有那些年轻有活力
期刊
大功率的超低频电磁波技术是当今国际瞩目的一个新兴的研究领域,在井下、地下、水下通信系统、地震监测、核废料处理及环境保护等方面具有广泛的应用前景。我国目前超低频井
“继往开来的领路人,带领我们走进那新时代,高举旗帜开创未来”,中国已如红日般照耀四方,每个人都是追梦人,这梦少不了少年们一颗颗赤诚的心,在追梦的道路上,我们都要不忘初
期刊
RETINOBLASTOMA(RB)蛋白是人类中克隆的第一个抑癌基因。RB同源基因广泛存在于动物、植物和绿藻中。已有的研究表明,RB蛋白及其同源基因在细胞周期调控、细胞分化、细胞凋亡以
今天是个适合外出的好日子,我坐上地铁前往琶洲参加漫展.rn漫展要排队进入,这时候一个白色的身影吸引了我,是一位穿着白色长裙头戴白纱的女子,她戴着翠绿色的美瞳和蓝色假发,
期刊