安卓系统快速开机的方法及设备的制作技术
- 格式:pdf
- 大小:148.54 KB
- 文档页数:13
一种安卓系统快速开机的方法及装置,适用于手机、平板电脑、导航仪等等任意带有安卓系统的电子产品,该方法包括步骤S101:在启动core服务的同时启动Zygote步骤。区别于现有技术,上述技术方案通过将Zygote步骤提前到启动core服务的同时启动。以及一系列的优化步骤,达到了提高安卓系统开机速度的效果。
技术要求1.一种安卓系统快速开机的方法,其特征在于,在启动core服务的同时 启动Zygote步骤。
2.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,将启动系统服务与预加载资源操作做并行处理。
3.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,优化系统服务,将预设的非核心服务类别延迟启动。
4.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,优化登录器,将动态布局计算、动态图标显示和加载图标微件从主 线程中移出。
5.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,优化INIT启动脚本,删除冗余代码。
6.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,在LINUX阶段对外围设备驱动进行优化,将I2C通讯、固件下载及 矫正步骤延后处理。
7.根据权利要求6所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,对外围设备驱动中的打印信息进行分级,将未达到重要级别的需要 串口输出的打印信息删除。
8.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,对UBOOT文件进行裁剪,只保留开机必要的初始化操作。 9.根据权利要求1所述的安卓系统快速开机的方法,其特征在于,还包 括步骤,根据机器的硬件配置确定开机时使用的频率。
10.一种安卓系统快速开机的装置,其特征在于,包括提前启动模块, 所述提前启动模块用于在启动core服务的同时启动Zygote步骤。
11.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括并行处理模块,所述并行处理模块用于将启动系统服务与预加载资源操 作做并行处理。
12.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括优化延迟模块,所述优化延迟模块用于优化系统服务,并将预设的非核 心服务类别延迟启动。
13.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括优化登录模块,所述优化登录模块用于优化登录器,并将动态布局计算、 动态图标显示和加载图标微件从主线程中移出。
14.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括优化脚本模块,所述优化脚本模块用于优化INIT启动脚本,删除冗余代 码。
15.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括优化驱动模块,所述优化驱动模块在LINUX阶段对外围设备驱动进行优 化,将I2C通讯、固件下载及矫正步骤延后处理。
16.根据权利要求15所述的安卓系统快速开机的装置,其特征在于,所 述优化驱动模块还用于对外围设备驱动中的打印信息进行分级,将未达到重 要级别的需要串口输出的打印信息删除。
17.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括裁剪模块,所述裁剪模块用于对UBOOT文件进行裁剪,只保留开机必 要的初始化操作。 18.根据权利要求10所述的安卓系统快速开机的装置,其特征在于,还 包括开机频率设置模块,所述开机频率设置模块用于根据机器的硬件配置确 定开机时使用的频率。
说明书一种安卓系统快速开机的方法及装置技术领域 本领域涉及安卓操作系统优化领域,尤其涉及安卓系统快速开机的方法。 背景技术 安卓系统从1.0到目前的4.4版本,由于其开源的特性,使得很多消费类电 子产品的软件系统都是基于安卓开发的。用过安卓系统的任何形态产品的用 户都会觉得开机时间从一开始就很慢至少都是在20S以上的。
目前所有的安卓系统,在启动最开始的一个阶段都是串行的,有一些不 是很合理的启动流程会直接影响到安卓系统的开机时间。并且通过提高硬件 性能(例如使用高读写性能的存储介质,高速处理器等)只能缓解问题,并 不能彻底解决这个问题,就算很系统没有安装很多APK应用,也是达不到短时 间内可以开机(如10S)。
技术内容 为此,需要能够实现安卓系统快速开机的方法, 技术人提供了一种安卓系统快速开机的方法,包括步骤:在启动core服 务的同时启动Zygote步骤。
还包括步骤,将启动系统服务与预加载资源操作做并行处理。 还包括步骤,优化系统服务,将预设的非核心服务类别延迟启动。 还包括步骤,优化登录器,将动态布局计算、动态图标显示和加载图标 微件从主线程中移出。
还包括步骤,优化INIT启动脚本,删除冗余代码。 还包括步骤,在LINUX阶段对外围设备驱动进行优化,将I2C通讯、固 件下载及矫正步骤延后处理。
还包括步骤,对外围设备驱动中的打印信息进行分级,将未达到重要级 别的需要串口输出的打印信息删除。
还包括步骤,对UBOOT文件进行裁剪,只保留开机必要的初始化操作。 还包括步骤,根据机器的硬件配置确定开机时使用的频率。 技术人还提供了一种安卓系统快速开机的装置,包括提前启动模块,所 述提前启动模块用于在启动core服务的同时启动Zygote步骤。
还包括并行处理模块,所述并行处理模块用于将启动系统服务与预加载 资源操作做并行处理。
还包括优化延迟模块,所述优化延迟模块用于优化系统服务,并将预设 的非核心服务类别延迟启动。
还包括优化登录模块,所述优化登录模块用于优化登录器,并将动态布 局计算、动态图标显示和加载图标微件从主线程中移出。
还包括优化脚本模块,所述优化脚本模块用于优化INIT启动脚本,删除 冗余代码。
还包括优化驱动模块,所述优化驱动模块在LINUX阶段对外围设备驱动 进行优化,将I2C通讯、固件下载及矫正步骤延后处理。
所述优化驱动模块还用于对外围设备驱动中的打印信息进行分级,将未 达到重要级别的需要串口输出的打印信息删除。 还包括裁剪模块,所述裁剪模块用于对UBOOT文件进行裁剪,只保留 开机必要的初始化操作。
还包括开机频率设置模块,所述开机频率设置模块用于根据机器的硬件 配置确定开机时使用的频率。
区别于现有技术,上述技术方案通过将Zygote步骤提前到启动core服务 的同时启动。以及一系列的优化步骤,达到了提高安卓系统开机速度的效果。
附图说明 图1为本技术方法流程图; 图2为安卓系统原始开机流程图; 图3为本技术方法中安卓系统开机流程图; 图4为本技术装置模块示意图。 附图标记说明: 101、提前启动模块; 102、并行处理模块; 103、优化延迟模块; 104、优化登录模块; 105、优化脚本模块; 106、优化驱动模块; 107、裁剪模块; 201、UBOOT阶段; 202、LINUX阶段; 203、INIT阶段; 204、Android系统启动阶段。 具体实施方式 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下 结合具体实施例并配合附图详予说明。
请参阅图1,为本技术介绍了一种安卓系统快速开机的方法,适用于手机、 平板电脑、导航仪等等任意带有安卓系统的电子产品,该方法包括步骤S101: 在”启动core服务”的同时启动Zygote步骤。安卓系统的原始开机流程如图 2所示,开机阶段可以大致分为UBOOT 201,LINUX 202,INIT 203,和Android 系统启动204四个阶段。UBOOT 201、LINUX202、和INIT 203阶段都是串 行的,只有到了Android系统启动204阶段才可以并行执行。在UBOOT 201 阶段中,安卓系统会执行芯片上电后的基本初始化操作,包括初始化部分内 存并且引导系统内核启动;在LINUX 202阶段中,安卓系统会执行核心的操 作系统部分,包括所有芯片资源的初始化以及外围设备驱动的加载;在核心 操作系统准备就绪后,安卓系统将挂载根文件系统,并且执行根文件系统中 的INIT 203服务;INIT 203(内核自行启动)服务负责解析INIT脚本,挂载 安卓文件系统,并根据启动脚本的内容来启动相应的服务,包括引导Android 系统启动204的Zygote进程;Zygote进程启动后,首先预加载定义好的系统 资源和类,然后再“启动系统服务(SystemServer)”,并由其完成其他的启动 流程。
如图2的一般做法是将启动Zygote进程与INIT 203进程中的”启动main 服务”同时启动。而事实上,是否“启动main服务”对启动zygote进程没有 任何影响,因此本方法如图3所示将启动Zygote进程的步骤从“启动main 服务”提前到“启动core服务”的同时,进行同步并行启动,克服了本领域 技术人员的技术偏见,减少了在开机过程启动Zygote需要的等待core启动服 务的时间,达到了提高安卓系统开机速度的效果。 图1所示方法还包括步骤S102,将“启动系统服务”与“预加载资源” 操作做并行处理。所述“预加载资源”包括但不限于:加载预置类、加载预 置资源以及加载OPENGL步骤。在上述如前段所述串行的启动流程中,如果 存在一些比较耗时的操作,会导致后续的操作延迟执行,从而导致开机时间 加长。例如图2所示的某些实施例中,在安卓系统启动204阶段,“启动系统 服务”将在“预加载资源”后串行进行。具体来说,“预加载资源”之间是 串行进行,包括先后进行“加载预置类”、“加载预置资源”、和“加载OPENGL” 的步骤,随后再进行“启动系统服务”步骤。本技术对上述步骤采用并行处 理的方式,所述并行处理具体为:在启动“加载预置类“的同时,启动“加 载预置资源”、启动“加载OPENGL”以及同时运行“启动系统服务”。如在 图3所示的某些实施例中,在创建Zygote客户端的socket步骤之后,同时运 行“启动系统服务”与“加载预置类”、“加载预置资源”以及“加载OPENGL” 步骤。通过对上述原本串行处理的步骤进行并行处理,使得原本先后完成的 步骤能够同时并行进行,耗时缩短为最长耗时步骤的用时。因此通过同时开 始启动系统服务与加载资源操作,达到了减少开机时间,提高安卓系统开机 速度的效果。
在某些实施例中,图1所示方法还包括步骤S103,优化系统服务,将预 设的非核心服务类别延迟启动。所述的“非核心服务”指的是系统正常启动 过程中不会使用到的一些服务,即与系统启动无关的,不影响系统正常进入 主界面的一些服务,类别包括但不限于:定位服务、输入法服务、备份服务、 语音搜索、多媒体服务等等。将所述非核心服务类别延迟启动,既不影响系 统服务的正常功能,又能减少了启动系统服务流程的耗时,达到了提高安卓 系统开机速度的效果。