[发明专利]一种基于ARM平台的Android启动加速方法有效
申请号: | 201410170411.5 | 申请日: | 2014-04-25 |
公开(公告)号: | CN104102506B | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 刘发贵;缪汉威 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 广州粤高专利商标代理有限公司44102 | 代理人: | 何淑珍 |
地址: | 511400 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 arm 平台 android 启动 加速 方法 | ||
技术领域
本发明属于计算机操作系统技术领域,特别是提供一种针对ARM平台的Android启动加速的方法。
背景技术
Android开机启动加速,近年来越来越受人们关注了。主要是由于Android设备的大量普及。而且相对于很少关机的手机,其他智能设备如:平板电脑等越来越普及,而且这些设备相对于手机来说是需要经常的开关机,所以其启动速度直接影响到用户体验,也是判断产品的优劣一个重要标准。
Android的开机启动优化一直以来都是一个非常热门的研究领域,而且现在业界对Android开机快速启动的需求越来越紧迫。目前国内外有很多人对Android的开机启动过程进行相关工作的研究。
一种是采用电源管理的技术,使用休眠或睡眠的方式对Android系统进行非真正意义上的关机,当用户需要使用设备时再唤醒设备。这种“热启动”的方式还是会有一定程度的电源消耗,而且也不是真正意义上的关机,很难满足用户的需求。
还有一种方式是将Android启动过程的Zygote预加载类和资源进行了裁剪,这种方式对Android启动后的后续性能带来不良的影响。因为打开应用程序的次数远远多于用户开关机的次数。因为这些预加载类和资源都是Google工程师精心设计的,缺少了这些预加载的类和资源,后续的应用启动速度需要重新加载这些类和资源,从而导致应用程序启动速度变慢。
还有的是通过特殊的硬件支持实现的,类似休眠技术,不过这种加速方法可以实现“冷启动”,通过从FLASH非易失性存储介质中加载启动时需要的核心数据,等启动完成后再后续加载其他非核心数据完成启动,虽然启动速度有很大的提升,但是需要特殊硬件的支持,使用范围受到了很大的限制。
在Android系统中,从目前来看这些优化方法有些存在方法使用范围具有局限性,有些方法会带来一些Android启动后的后续性能问题,有些方法需要特殊的硬件支持等。这些是不能满足Android启动加速需求的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于ARM平台的Android启动加速方法。
为了实现上述发明目标,采用的技术方案如下:
一种基于ARM平台的Android启动加速方法,包括如下步骤:
(1)修改Linux内核编译选项,添加Enable loadable module support以支持动态模块加载。编译基于ARM平台的Linux内核镜像。修改Linux内核配置为基于ARM平台,修改BLCR(Berkeley Lab Checkpoint/Restart)内核模块文件以支持ARM平台。然后交叉BLCR编译动态内核模块。
(2)修改Android的bionic的线程库文件,添加BLCR动态链接库模块所需的线程库API函数接口,修改Android的启动脚本Init.rc,实现将BLCR的动态内核模块在系统进入用户空间后添加进去的功能,以供后续BLCR动态链接库调用。
(3)编写了Android平台下调用BLCR内核模块的动态链接库编译的Android.mk文件,并对BLCR动态链接库模块进行了修改以支持Android系统。将BLCR在X86平台的API库移植到ARM平台。
(4)编写了Android平台下的JNI接口函数,调用BLCR底层动态链接库。编写了在ZygoteInit.java文件中通过JNI调用BLCR模块,在耗时的预加载类及预加载资源过程之后设置断点,将Zygote进程保存到镜像文件中。下次启动时通过恢复进程的镜像文件,从断点处往下执行程序,跳过了耗时的预加载类及预加载资源的过程,从而提高了Android的启动速度。
(5)编写Android启动的Init.rc调用的脚本,判断镜像文件是否存在,如果存在则直接从镜像文件启动,如果不存在,则生成通过调用BLCR动态内核模块生成Zygote进程的镜像文件。
如步骤(1)所述将BLCR技术移植到ARM平台,然后通过修改BLCR的内核模块源码,使其支持ARM平台,然后通过交叉编译链将其编译成基于ARM平台的动态加载模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410170411.5/2.html,转载请声明来源钻瓜专利网。