[发明专利]一种基于ARM平台的Android启动加速方法有效
申请号: | 201410170411.5 | 申请日: | 2014-04-25 |
公开(公告)号: | CN104102506B | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 刘发贵;缪汉威 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 广州粤高专利商标代理有限公司44102 | 代理人: | 何淑珍 |
地址: | 511400 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于ARM平台的Android启动加速方法,采用技术,对Android启动过程进行加速,通过采用BLCR技术对Android启动过程比较耗时的Zygote进程预加载类和预加载资源过程进程断点设置,然后在进程启动到执行断点时保存进程的当前状态和信息到一个镜像文件中,下次启动的时候直接从镜像文件中启动该进程,从而跳过了耗时的预加载类和预加载资源过程,达到开机启动加速的目的。通过本发明的BLCR技术实现的Android加速,可以将Android的启动时间缩短至少13秒,对Android的启动速度提高了接近30%~40%,而且这种方式对Android的后续性能没有影响。 | ||
搜索关键词: | 一种 基于 arm 平台 android 启动 加速 方法 | ||
【主权项】:
一种基于ARM平台的Android启动加速方法,其特征在于包括如下步骤:(1)修改Linux内核编译选项,添加Enable loadable module support以支持动态模块加载;编译基于ARM平台的Linux内核镜像;修改Linux内核配置为基于ARM平台,修改Berkeley Lab Checkpoint/Restart即BLCR内核模块文件以支持ARM平台;然后BLCR编译动态内核模块;(2)修改Android的bionic的线程库文件,添加BLCR动态链接库模块所需的线程库API函数接口,修改Android的启动脚本Init.rc,实现将BLCR的动态内核模块在系统进入用户空间后添加进去的功能,以供后续BLCR动态链接库调用;(3)编写Android平台下调用BLCR内核模块的动态链接库编译的Android.mk文件,并对BLCR动态链接库模块进行修改以支持Android系统;将BLCR在X86平台的API库移植到ARM平台;(4)通过使用BLCR技术实现Android系统的Zygote进程的镜像备份和从镜像文件中直接启动的方法,从而跳过了耗时的Zygote进程预加载类与预加载资源的过程;使用BLCR技术实现Android系统的Zygote进程的镜像备份包括如下具体执行过程:(1)将Zygote进程进行阻塞,开始执行进程状态信息的保存;(2)保存Zygote进程地址空间信息,主要包括进程的数据段、堆栈段信息,进程的代码段不需要保存,能通过保存进程的可执行二进制文件路径;(3)保存Zygote进程进行上下文切换的CPU信息,主要包括PC程序计数器、PSW寄存器的内容;(4)保存Zygote进程的打开文件描述符,以便下次从镜像文件中启动后能恢复到保存时的状态;(5)保存Zygote进程的信号状态和信号处理函数,以便下次进程能正常捕获信号并进行相应的处理;(6)完成将进程保存到镜像文件后,启动Zygote进程让其继续往下执行,启动Android系统;使用BLCR技术实现Android系统的Zygote进程的镜像恢复包括如下具体执行过程:(1)阻塞Zygote进程的运行,直接从镜像文件中加载Zygote进程,进程的代码段通过保存的进程可执行文件路径进行恢复;(2)将镜像文件中通过断点保存的Zygote进程地址空间信息进行恢复,主要包括进程的数据段和堆栈段;(3)将镜像文件中保存的Zygote进程的上下文切换信息进程恢复,主要有PC程序计数器、PSW状态寄存器;(4)根据镜像文件恢复Zygote进程的打开文件描述符;(5)根据镜像文件恢复Zygote进程的信号状态和信号处理函数;(6)启动Zygote进程,然后从断点处继续往下执行,这样便可以跳过耗时的预加载类与预加载资源的过程,实现Android的启动加速;(5)编写Android启动的Init.rc调用的脚本,判断镜像文件是否存在,如果存在则直接从镜像文件启动,如果不存在,则生成通过调用BLCR动态内核模块生成Zygote进程的镜像文件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410170411.5/,转载请声明来源钻瓜专利网。