基于Android系统的资源处理方法、装置和设备的制作方法

文档序号:6550755阅读:90来源:国知局
基于Android系统的资源处理方法、装置和设备的制作方法
【专利摘要】本发明提供了一种基于Android系统的资源处理方法、装置及设备,该方法包括:响应于Android系统的用户级进程init进程的启动,将Android系统的部分资源加载到内核缓冲区;响应于Android系统的zygote进程及其孵化的子进程的启动,从内核缓冲区中加载所述Android系统的部分资源。该装置包括:第一加载模块,用于将所述Android系统的部分资源加载到内核缓冲区;第二加载模块,用于从所述内核缓冲区中加载所述Android系统的部分资源。采用本发明的方法、装置或设备,可以提升Android系统的开机启动速度,从而也能够提升用户的使用体验。
【专利说明】基于Android系统的资源处理方法、装置和设备

【技术领域】
[0001] 本申请涉及智能移动终端领域,特别涉及一种基于Android系统的资源处理方 法、装置及设备。

【背景技术】
[0002] Android(安卓)系统是Google (谷歌)公司开发的基于Linux的开源移动操作平 台,该平台由操作系统、中间件、用户界面和应用软件组成。目前Android系统主要应用在 手机、平板电脑、电视机等智能设备上。
[0003] 随着科技的发展,Android在移动设备上的应用日趋广泛,用户对其要求也越来越 高。但是发明人在研究过程中发现,作为目前最为流行的移动设备操作系统之一,Android 系统相对比较慢的开机速度一直困扰着用户。!


【发明内容】

[0004] 发明人在研究过程中通过bootchart (-个用于linux启动过程性能分析的开源 软件工具)等进行分析发现,现有技术中的Android系统在开机过程中启动的i/o (输入/ 输出,Input/Output)负载非常不均衡,在Android系统启动过程的中后期,大量时间被浪 费在文件以及程序资源(程序运行需要的资源文件,包括S0程序动态库、图片和多媒体资 源等)的读取上,但是在Android系统启动的前期i/o负载又很低。因此有必要针对这一 问题进行解决,从而加快Android系统的开机启动速度。!
[0005] 因此,本申请提供一种基于Android系统的资源处理方法,用以解决现有技术中 Android系统的开机速度相对比较慢的技术问题。
[0006] 本申请还提供了一种基于Android系统的资源处理装置和设备,用以保证上述方 法在实际中的实现及应用。
[0007] 为了解决上述问题,本申请公开了一种基于Android系统的资源处理方法,包括:
[0008] 响应于An dro i d系统的用户级进程in i t进程的启动,将所述An dro i d系统的部分 资源加载到内核缓冲区;
[0009] 响应于Android系统的zygote进程及其孵化的子进程的启动,从所述内核缓冲区 中加载所述Android系统的部分资源。
[0010] 可选的,所述部分资源包括:用户定制资源或默认资源。
[0011] 可选的,在所述部分资源为用户定制资源的情况下,所述将所述Android系统的 部分资源加载到内核缓冲区,包括:
[0012] 参考所述用户定制资源的文件存储路径获取到定制文件列表;
[0013] 从所述定制文件列表中获取Android系统的用户定制资源。
[0014] 本申请还提供了一种基于Android系统的资源处理装置,包括:
[0015] 第一加载模块,用于响应于Android系统的用户级进程init进程的启动,将所述 Android系统的部分资源加载到内核缓冲区;
[0016] 第二加载模块,用于响应于Android系统的zygote进程及其孵化的子进程的启 动,从所述内核缓冲区中加载所述Android系统的部分资源。
[0017] 可选的,所述部分资源包括:用户定制资源或默认资源.
[0018] 可选的,在所述部分资源为用户定制资源的情况下,所述第一加载模块,包括:
[0019] 第一获取子模块,用于参考所述用户定制资源的文件存储路径获取到定制文件列 表;
[0020] 第二获取子模块,用于从所述定制文件列表中获取Android系统的用户定制资 源。
[0021] 本申请还提供了一种设备,包括:前述的任一项基于Android系统的资源处理装 置。
[0022] 与现有技术相比,本申请包括以下优点:
[0023] 在本申请中,利用Andro i d系统启动时如期和中后期负载不均衡的特点,在 Android系统启动前期即启动init进程的时候就将部分资源先加载到内核缓冲区,并在 Android系统启动中后期即zygote进程及其孵化的子进程启动时,再直接从内核缓冲区加 在这部分资源,相对于现有技术来讲,不仅平衡了 Android系统的前期和中后期的负载,同 时也因为从内核缓冲区直接加在了一部分资源而使得Android系统的启动速度更快,进而 也能够提升用户使用Android系统的体验。

【专利附图】

【附图说明】
[0024] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0025] 图1是本申请的一种基于Android系统的资源处理方法实施例的流程图;
[0026] 图2是是本申请的一种基于Android系统的资源处理装置实施例的结构框图。

【具体实施方式】
[0027] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[0028] 本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务 器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备 的计算环境等等。
[0029] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。
[0030] 参考图1,示出了本申请一种基于Android系统的资源处理方法实施例1的流程 图,可以包括以下步骤:
[0031] 步骤101 :响应于Android系统的用户级进程init进程的启动,将所述Android系 统的部分资源加载到内核缓冲区。
[0032] 在本实施例中,当Android系统的init进程启动的时候,就会开始将Android系 统的一部分资源先加载到内核缓冲区。其中,init进程是用户级进程,是操作系统内核进 入文件系统后第一个运行的进程。
[0033] 在不同的实施方式中,该部分资源可以是用户定制资源,也可以是默认资源。例 如,当用户已经采用本实施例的方法对资源进行处理后,下一次再启动Android系统时,则 默认加载上一次Android系统启动时加载到内核缓冲区(kernel cache)的系统资源,因此, 默认资源可以为上一次Android系统启动时加载到内核缓冲区的系统资源。
[0034] 用户定制资源则是用户设置的需要加载到内核缓冲区的那些资源。例如,在生产 Android系统的智能手机时,就将步骤101中的部分资源设置好并集成在智能手机中。而在 所述部分资源为用户定制资源的情况下,将所述Android系统的部分资源加载到内核缓冲 区的步骤,具体可以包括:
[0035] 步骤A1 :参考所述用户定制资源的文件存储路径获取到定制文件列表。
[0036] 在本实施例中,用户定制资源存储在定制文件列表中,因此首先需要获取到用户 定制资源的文件存储路径并找到定制文件列表。其中,用户定制资源的存储路径一般为系 统(system)分区下的目录和data(数据)分区目录,但是不同的设备可能存在差异,因此, 需要依据设备的文件存储路径来获取到定制文件列表。
[0037] 可以理解的是,具体用户在定制资源的时候,可以由设备厂商分析android定制 系统所需1/0 block的资源(包含so、apk安装包等),并根据分析结果确定用户定制资源 都有哪些,并将其存放在定制文件列表中,以及将定制文件列表存储在预留的磁盘空间中。 一般情况下,用户定制资源例如可以包括:android dalvik动态链接库、android framework 安卓框架相关jar包以及dex文件、各个设备厂商预置的APK包以及dex文件。当然,用户 定制资源也可以包括程序资源,例如开机启动程序运行所需要的资源文件等。
[0038] 步骤A2 :从所述定制文件列表中获取Android系统的用户定制资源。
[0039] 再从定制文件列表中获取到用户定制资源的内容。
[0040] 接着返回步骤102 :响应于Android系统的zygote进程及其孵化的子进程的启 动,从所述内核缓冲区中加载所述Android系统的部分资源。
[0041] 在Android系统的zygote进程及其孵化的子进程的启动时,再从内核缓冲区中直 接加载Android系统的部分资源,因为这部分资源已经在init进程启动的时候加载到内核 缓冲区了,因此现在直接从内核缓冲区中加在这部分资源就会速度更快的实现。
[0042] 采用本发明实施例,利用Android系统启动时前期和中后期负载不均衡的特点, 在Android系统启动前期即启动init进程的时候就将部分资源先加载到内核缓冲区,并在 Android系统启动中后期即zygote进程及其孵化的子进程启动时,再直接从内核缓冲区加 在这部分资源,相对于现有技术来讲,不仅平衡了 Android系统的前期和中后期的负载,同 时也因为从内核缓冲区直接加在了一部分资源而使得Android系统的启动速度更快,进而 也能够提升用户使用Android系统的体验。
[0043] 对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但 是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某 些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描 述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0044] 与上述本申请一种基于Android系统的资源处理方法实施例所提供的方法相对 应,参见图2,本申请还提供了一种基于Android系统的资源处理装置实施例,在本实施例 中,可以包括:
[0045] 第一加载模块201,用于响应于Android系统的用户级进程init进程的启动,将所 述Android系统的部分资源加载到内核缓冲区。
[0046] 所述部分资源包括:用户定制资源或默认资源。所述默认资源为:上一次Android 系统启动时加载到内核缓冲区的系统资源。
[0047] 在所述部分资源为用户定制资源的情况下,所述第一加载模块201,具体可以包 括:
[0048] 第一获取子模块,用于参考所述用户定制资源的文件存储路径获取到定制文件列 表;以及,第二获取子模块,用于从所述定制文件列表中获取Android系统的用户定制资 源。
[0049] 第二加载模块202,用于响应于Android系统的zygote进程及其孵化的子进程的 启动,从所述内核缓冲区中加载所述Android系统的部分资源。
[0050] 可以理解的是,基于Android系统的资源处理装置的实现代码可以在android系 统init脚本中加入。
[0051] 采用本发明实施例,利用Android系统启动时前期和中后期负载不均衡的特点, 在Android系统启动前期即启动init进程的时候就由第一加载模块201将部分资源先加 载到内核缓冲区,并在Android系统启动中后期即zygote进程及其孵化的子进程启动时, 再由第二加载模块202直接从内核缓冲区加在这部分资源.相对于现有技术来讲,不仅平 衡了 Android系统的前期和中后期的负载,同时也因为从内核缓冲区直接加在了一部分资 源而使得Android系统的启动速度更快,进而也能够提升用户使用Android系统的体验。
[0052] 基于图1和图2的实施例,本申请还提供了一种设备,例如智能手机或者平板电脑 等,在该设备的CPU上可以集成本申请中的基于Android系统的资源处理装置。
[0053] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参 见方法实施例的部分说明即可。
[0054] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体 意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括 那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或 者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并 不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0055] 以上对本申请所提供的一种基于Android系统的资源处理方法、装置和设备进行 了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本申请的限制。
【权利要求】
1. 一种基于Android系统的资源处理方法,其特征在于,包括: 响应于Android系统的用户级进程init进程的启动,将所述Android系统的部分资源 加载到内核缓冲区; 响应于Android系统的zygote进程及其孵化的子进程的启动,从所述内核缓冲区中加 载所述Android系统的部分资源。
2. 根据权利要求1所述的方法,其特征在于,所述部分资源包括:用户定制资源或默认 资源。
3. 根据权利要求2所述的方法,其特征在于,在所述部分资源为用户定制资源的情况 下,所述将所述Android系统的部分资源加载到内核缓冲区,包括 : 参考所述用户定制资源的文件存储路径获取到定制文件列表; 从所述定制文件列表中获取Android系统的用户定制资源。
4. 一种基于Android系统的资源处理装置,其特征在于,包括: 第一加载模块,用于响应于Android系统的用户级进程init进程的启动,将所述 Android系统的部分资源加载到内核缓冲区; 第二加载模块,用于响应于Android系统的zygote进程及其孵化的子进程的启动,从 所述内核缓冲区中加载所述Android系统的部分资源。
5. 根据权利要求4所述的装置,其特征在于,所述部分资源包括:用户定制资源或默认 资源。
6. 根据权利要求4所述的装置,其特征在于,在所述部分资源为用户定制资源的情况 下,所述第一加载模块,包括: 第一获取子模块,用于参考所述用户定制资源的文件存储路径获取到定制文件列表; 第二获取子模块,用于从所述定制文件列表中获取Android系统的用户定制资源。
7. -种设备,其特征在于,包括:如权利要求4?6任一项所述的基于Android系统的 资源处理装置。
【文档编号】G06F9/445GK104050001SQ201410287681
【公开日】2014年9月17日 申请日期:2014年6月24日 优先权日:2014年6月24日
【发明者】王留欣, 邹鹏程 申请人:中科创达软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1