提高应用程序运行速度的方法、装置及终端技术领域
本发明涉及计算机领域,特别涉及一种提高应用程序运行速度的方法、装置及终端。
背景技术
随着计算机技术的高速发展,应用程序的种类越来越多。为了满足用户对各类应用程序
的运行需求,提高应用程序的运行速度,成为了众多研究者十分关注的课题。
现有技术在提高应用程序的运行速度时,采取了预读和预加载(Prefetch)两种机制。
其中,预读机制是指在读取本地数据文件时,除了读取当前所需数据外,还将当前所需数据
后的内容也一并读入内存中,以在用到该部分内容时,可从内存中直接读取,从而减少应用
程序在IO(Input/Output,输入输出)上的耗时;预加载机制是指在开机加载操作系统时,
读取常用的应用程序的主要内容,以备在该类应用程序启动时耗费大量时间来读取数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
预读机制仅适用于在加载应用程序时顺序访问本地数据的场景,针对应用程序运行时对
本地数据进行随机访问的场景,该预读机制的作用并不显著;预加载机制针对所有应用程序
运行速度进行优化,具有一定普遍性但缺乏针对性,对应用程序运行速度的优化空间有限。
发明内容
为了在提高应用程序运行速度的同时,提高速度优化的针对性,并增强速度提高的效果,
本发明实施例提供了一种提高应用程序运行速度的方法、装置及终端。所述技术方案如下:
一方面,提供了一种提高应用程序运行速度的方法,所述方法包括:
采集应用程序运行时缺页中断对应的本地数据信息,所述本地数据信息包括本地数据所
在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;
根据采集到的所述本地数据信息获取对应的本地数据,并在获取到提高所述应用程序运
行速度的指令后,加载获取到的所述本地数据。
其中,所述采集应用程序运行时缺页中断对应的本地数据信息,具体包括:
通过事件跟踪机制采集应用程序运行时的硬缺页事件和软缺页事件,从记录了所述硬缺
页事件和软缺页事件的事件跟踪日志中获取所述应用程序运行时缺页中断对应的本地数据信
息;
或者,通过钩子HOOK技术对系统底层调用进行监控,并获取用于记录缺页中断对应的本
地数据信息的监控代码,根据所述监控代码获取所述应用程序运行时缺页中断对应的本地数
据信息。
优选地,所述根据采集到的所述本地数据信息获取对应的本地数据,具体包括:
解析采集到的所述本地数据信息,得到本地数据所在文件的文件名、所述本地数据在所
述文件内的偏移以及所述本地数据的大小;
按照所述本地数据所在文件的文件名将采集到的本地数据信息进行聚合;
按照所述本地数据在所述文件内的偏移将聚合后的本地数据信息进行合并,并在合并后
的本地数据信息中选取符合预取条件的本地数据信息作为预取数据信息;
根据选取的所述预取数据信息获取对应的本地数据。
进一步地,所述在合并后的本地数据信息中选取符合预取条件的本地数据信息作为预取
数据信息之后,还包括:
根据所述应用程序的信息存储选取的所述预取数据信息;
所述加载获取到的本地数据,具体包括:
根据所述应用程序的信息获取所述预取数据信息,并根据所述预取数据信息获取对应的
本地数据,将获取到的本地数据加载至内存。
进一步地,所述加载获取到的本地数据之前,还包括:
输出应用程序列表,提示用户在所述应用程序列表中选择提高运行速度的应用程序;
根据用户在所述应用程序列表中选择的应用程序接收提高所述应用程序运行速度的指令
以及所述应用程序的信息。
另一方面,还提供了一种提高应用程序运行速度的装置,所述装置包括:
采集模块,用于采集应用程序运行时缺页中断对应的本地数据信息,所述本地数据信息
包括本地数据所在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大
小;
获取模块,用于根据所述采集模块采集到的所述本地数据信息获取对应的本地数据;
加载模块,用于获取到提高所述应用程序运行速度的指令后,加载所述获取模块获取到
的所述本地数据。
其中,所述采集模块,具体用于通过事件跟踪机制采集应用程序运行时的硬缺页事件和
软缺页事件,从记录了所述硬缺页事件和软缺页事件的事件跟踪日志中获取所述应用程序运
行时缺页中断对应的本地数据信息;
或者,所述采集模块,具体用于通过钩子HOOK技术对系统底层调用进行监控,并获取用
于记录缺页中断对应的本地数据信息的监控代码,根据所述监控代码获取所述应用程序运行
时缺页中断对应的本地数据信息。
优选地,所述获取模块,具体包括:
解析单元,用于解析所述采集模块采集到的本地数据信息,得到本地数据所在文件的文
件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;
聚合单元,用于按照所述解析单元解析出的本地数据所在文件的文件名将采集到的本地
数据信息进行聚合;
合并单元,用于按照所述解析单元解析出的本地数据在所述文件内的偏移将所述聚合单
元聚合后的本地数据信息进行合并;
选取单元,用于在所述合并单元合并后的本地数据信息中选取符合预取条件的本地数据
信息作为预取数据信息;
获取单元,用于根据所述选取单元选取的所述预取数据信息获取对应的本地数据。
进一步地,所述装置还包括:
存储模块,用于根据所述应用程序的信息存储所述选取单元选取的所述预取数据信息;
所述加载模块,具体包括:
第一获取单元,用于根据所述应用程序的信息获取所述预取数据信息;
第二获取单元,用于根据所述第一获取单元获取到的预取数据信息获取对应的本地数据;
加载单元,用于将所述第二获取单元获取到的本地数据加载至内存。
进一步地,所述装置还包括:
输出模块,用于输出应用程序列表,提示用户在所述应用程序列表中选择提高运行速度
的应用程序;
接收模块,用于根据用户在所述输出模块输出的应用程序列表中选择的应用程序接收提
高所述应用程序运行速度的指令以及所述应用程序的信息。
再一方面,还提供了一种终端,所述终端包括上述提高应用程序运行速度的装置。
本发明实施例提供的技术方案带来的有益效果是:
通过采集应用程序运行时缺页中断对应的本地数据信息,并加载根据本地数据信息获取
到的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用程序运行速度的目的;
另外,由于缺页中断对应的本地数据信息不局限于本地数据的访问场景,因而可增强速度提
高的效果;且由于不同应用程序运行时缺页中断对应的本地数据信息不同,针对不同应用程
序具有不同的速度优化程度,因而可提高速度优化的针对性,进而扩大速度优化的空间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附
图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的提高应用程序运行速度的方法流程图;
图2是本发明实施例二提供的提高应用程序运行速度的方法流程图;
图3是本发明实施例三提供的提高应用程序运行速度的装置的结构示意图;
图4是本发明实施例三提供的获取模块的结构示意图;
图5是本发明实施例三提供的另一种提高应用程序运行速度的装置的结构示意图;
图6是本发明实施例三提供的加载模块的结构示意图;
图7是本发明实施例三提供的又一种提高应用程序运行速度的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进
一步地详细描述。
实施例一
本实施例提供了一种提高应用程序运行速度的方法,参见图1,本实施例提供的方法流
程具体如下:
101:采集应用程序运行时缺页中断对应的本地数据信息,该本地数据信息包括本地数据
所在文件的文件名、本地数据在文件内的偏移以及本地数据的大小;
其中,本实施例不对采集应用程序运行时缺页中断对应的本地数据信息的具体方式进行
限定,包括但不限于如下方式:
通过事件跟踪机制采集应用程序运行时的硬缺页事件和软缺页事件,从记录了硬缺页事
件和软缺页事件的事件跟踪日志中获取应用程序运行时缺页中断对应的本地数据信息;
或者,通过钩子HOOK技术对系统底层调用进行监控,并获取用于记录缺页中断对应的本
地数据信息的监控代码,根据监控代码获取应用程序运行时缺页中断对应的本地数据信息。
102:根据采集到的本地数据信息获取对应的本地数据,并在获取到提高应用程序运行速
度的指令后,加载获取到的本地数据。
优选地,根据采集到的本地数据信息获取对应的本地数据,具体包括:
解析采集到的本地数据信息,得到本地数据所在文件的文件名、本地数据在文件内的偏
移以及本地数据的大小;
按照本地数据所在文件的文件名将采集到的本地数据信息进行聚合;
按照本地数据在文件内的偏移将聚合后的本地数据信息进行合并,并在合并后的本地数
据信息中选取符合预取条件的本地数据信息作为预取数据信息;
根据选取的预取数据信息获取对应的本地数据。
进一步地,在合并后的本地数据信息中选取符合预取条件的本地数据信息作为预取数据
信息之后,还包括:
根据应用程序的信息存储选取的预取数据信息;
加载获取到的本地数据,具体包括:
根据应用程序的信息获取预取数据信息,并根据预取数据信息获取对应的本地数据,将
获取到的本地数据加载至内存。
进一步地,加载获取到的本地数据之前,还包括:
输出应用程序列表,提示用户在应用程序列表中选择提高运行速度的应用程序;
根据用户在应用程序列表中选择的应用程序接收提高应用程序运行速度的指令以及应用
程序的信息。
本实施例提供的方法,通过采集应用程序运行时缺页中断对应的本地数据信息,并加载
根据本地数据信息获取到的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用
程序运行速度的目的;另外,由于缺页中断对应的本地数据信息不局限于本地数据的访问场
景,因而可增强速度提高的效果;且由于不同应用程序运行时缺页中断对应的本地数据信息
不同,针对不同应用程序具有不同的速度优化程度,因而可提高速度优化的针对性,进而扩
大速度优化的空间。
实施例二
本实施例提供了一种提高应用程序运行速度的方法,该方法通过采集应用程序运行时缺
页中断对应的本地数据信息,并在根据该本地数据信息训练得到预取数据信息后,根据预取
数据信息加载对应的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用程序运
行的目的。结合上述实施例一的内容,本实施例以本地数据为磁盘数据为例,对提高应用程
序运行速度的方法进行举例说明。参见图2,本实施例提供的方法流程具体如下:
201:采集应用程序运行时缺页中断对应的磁盘数据信息,该磁盘数据信息包括磁盘数据
所在文件的文件名、磁盘数据在文件内的偏移以及磁盘数据的大小;
其中,缺页中断是指要访问的页不在内存,需要操作系统将其调入内存后再进行访问。
且缺页中断可分为硬缺页和软缺页,硬缺页事件是指发生缺页中断后,需要的数据不在缓存
也不在分页内存中,需要通过IO操作从磁盘上获取磁盘数据。软缺页是指发生缺页中断后,
需要的数据已经被载入内存,但又被置换到磁盘中,需要从磁盘交换文件中将这块内存信息
再载入内存中。由此可见,无论是硬缺页还是软缺页,缺页中断都将影响应用程序运行的速
度,因此,为了提高应用程序运行速度,本实施例采取了采集应用程序运行时缺页中断对应
的磁盘数据信息,后续步骤再通过提前加载根据磁盘数据信息获取到的磁盘数据的方式,避
免发生缺页中断,进而提高应用程序运行速度。采集应用程序运行时缺页中断对应的磁盘数
据信息时,包括但不限于如下方式:
通过事件跟踪机制采集应用程序运行时的硬缺页事件和软缺页事件,从记录了硬缺页事
件和软缺页事件的事件跟踪日志中获取应用程序运行时缺页中断对应的磁盘数据信息;
或者,通过HOOK技术对系统底层调用进行监控,并获取用于记录缺页中断对应的磁盘数
据信息的监控代码,根据监控代码获取应用程序运行时缺页中断对应的磁盘数据信息。
具体地,事件跟踪机制可以采用ETW(Event Tracing for Windows,Windows事件跟踪),
ETW是由操作系统提供的一种通用的、与性能日志和警报相比系统开销较低的事件追踪手段,
用以监控具有负载的系统的性能。ETW主要用于频繁记录事件、错误、警告或审核的服务器应
用程序。ETW提供用户模式的应用程序和内核模式的设备驱动程序所触发的事件追踪机制。此
外,ETW还能够动态地启用或者禁用日志记录,便于进行详细的追踪,而无需重新启动操作系
统或者应用程序,因此,可通过ETW采集应用程序运行时的硬缺页事件和软缺页事件,并从
记录了硬缺页事件和软缺页事件的事件跟踪日志中获取应用程序运行时缺页中断对应的磁盘
数据信息。
当然,除了采用上述两种采集方式外,还可以选择其他采集方式,本实施对此不做具体
限定。无论采用哪种采集方式,在采集到应用程序运行时缺页中断对应的磁盘数据信息后,
均可将其转化成磁盘内容描述格式<file,offset,length>,其中,file为磁盘数据所在文
件的文件名,offset为磁盘数据在文件内的偏移,length为磁盘数据的大小,可以byte(字
节)为单位。
202:根据采集到的磁盘数据信息得到预取数据信息;
该步骤为优选步骤,根据采集到的磁盘数据信息得到预取数据信息的方式,包括但不限
于如下步骤:
解析采集到的磁盘数据信息,得到磁盘数据所在文件的文件名、磁盘数据在文件内的偏
移以及磁盘数据的大小;
按照磁盘数据所在文件的文件名将采集到的磁盘数据信息进行聚合;
按照磁盘数据在文件内的偏移将聚合后的磁盘数据信息进行合并,并在合并后的磁盘数
据信息中选取符合预取条件的磁盘数据信息作为预取数据信息。
其中,本实施例不对解析采集到的磁盘数据信息的方式进行限定,为了便于说明,本实
施例以解析出的磁盘数据信息如下面表1所示为例,对该步骤中得到预取数据信息的方式进
行举例说明。
表1
File
Offset
Length(byte)
Example1.dll
0
1024
Example2.dll
4096
512
Example3.data
0
10240
Example1.dll
1024
1024
Example2.dll
0
512
从上面表1的内容中可以看出,解析出了5段磁盘数据信息,按照磁盘数据信息中磁盘
数据所在文件的文件名对采集到的磁盘数据信息进行聚合时,可将文件名相同的磁盘数据信
息聚合在一起,例如,将文件名为Example1.dll的两段磁盘数据信息进行聚合,将文件名为
Example2.dll的两段磁盘数据信息进行聚合,则得到的聚合结果可如下面表2所示:
表2
按照磁盘数据在文件内的偏移将聚合后的磁盘数据信息进行合并时,结合上述表2所示
的聚合结果,可将对应同一文件的磁盘数据信息按照其中的偏移是否相距预设范围而进行合
并,其中,预设范围可以设定为1024,2056等,本实施例不对预设范围的具体大小进行限定,
此处仅以预设范围为2056为例。则对于文件名为Example2.dll的两段磁盘数据信息,由于
一段磁盘数据信息的偏移为0,另一段磁盘数据信息的偏移为4096,由此可见,两段磁盘数
据信息的偏移相距4096,而该距离在预设范围2056之外,因而不对这两段磁盘数据信息进
行合并。
但对于文件名为Example1.dll的两段磁盘数据信息,由于一段磁盘数据信息的偏移为0,
另一段磁盘数据信息的偏移为1024,由此可见,两段磁盘数据信息的偏移相距1024,该距离
在预设范围2056内,因此,可将其进行合并,合并之后的结果可如下面表3所示:
表3
经过上面的聚合及合并的过程,应用程序每次运行时都能得到如上表3所示结果,对于
采集应用程序多次运行时缺页中断对应的磁盘数据信息,并对采集到的结果进行如上训练便
得到预取数据信息,预取数据信息同磁盘数据信息一样,均用于记录应用程序很有可能需要
通过IO访问获取的磁盘数据的信息。不同应用程序对应的预取数据信息也会不同,即使是同
一应用程序,在不同场景下的预取数据信息也会有所不同,而该场景包括但不限于加载、运
行等场景,如若需要确定应用程序在哪个场景下很有可能需要通过IO访问获取的磁盘数据,
则在该场景下采集磁盘数据信息,并按照如上过程根据采集到的磁盘数据信息得到对应的预
取数据信息,进而通过预取数据信息获取对应的磁盘数据即可。本实施例不对本实施例提供
的方法所适用的场景进行限定。
可选地,由于应用程序每次运行时都可得到如上面表3所示的结果,如果直接将应用程
序每次运行时得到的如上面表3所示的结果进行合并,并将合并后的结果作为得到的预取数
据信息,则该预取数据信息所覆盖的磁盘数据的范围会比较广,然而有些磁盘数据并不是应
用程序运行时时常用到的,仅仅是在某次采集过程中采集到该磁盘数据对应的磁盘数据信息
而已,因而加载该类磁盘数据不仅对提高应用程序运行速度没有过多的帮助,反而还占用了
系统资源,对此,为了在提高应用程序运行速度的前提下,进一步缩小预取数据信息所覆盖
的磁盘数据的范围,以减少加载不必要的磁盘数据,导致浪费资源,本实施例提供的方法在
通过上述过程得到合并后的磁盘数据信息时,可并不直接将合并后的所有磁盘数据信息均作
为预取数据信息,而是在合并后的磁盘数据信息中再挑选出符合预取条件的磁盘数据信息,
之后再将挑取出的磁盘数据信息作为预取数据信息。
对于预取条件,可通过判断采集到的磁盘数据信息是否达到预设次数来得到,例如,如
果某段磁盘数据信息在10次采集过程中,仅被采集到了1次,则可得出该段磁盘数据信息被
采集到的频率不高,应用程序运行时对该磁盘数据信息对应的磁盘数据的需求也不会很高,
因而可将其从采集到的磁盘数据信息中进行删除;相反,如果某段磁盘数据信息在10次采集
过程中,有6次被采集到,则可得出该段磁盘数据信息被采集到的频率较高,应用程序运行
时对该磁盘数据信息对应的磁盘数据的需求也会相对较高,因而可将其保留在采集到的磁盘
数据信息中。当然,除了以采集到的次数是否达到预设次数为标准判断合并后的磁盘数据信
息是否符合预取条件外,还可以选择其他预取条件,本实施例不仅不对预设次数的多少进行
限定,同样也不对具体的预取条件进行限定。
203:根据应用程序的信息存储得到的预取数据信息;
针对该步骤,在用户没有运行该应用程序的需求下,为了避免因加载该应用程序对应的
磁盘数据而占用系统资源,本实施例提供的方法不会在得到预取数据信息后,直接加载根据
预取数据信息获取到的磁盘数据,而是根据用户对该应用程序的运行需求来选择是否加载根
据预取数据信息获取到的磁盘数据。之所以根据应用程序的信息存储得到的预取数据信息,
是由于每个应用程序均可训练得到对应的预取数据信息,为了区分不同应用程序的预取数据
信息,可根据各个应用程序的信息存储各自的预取数据信息。其中,应用程序的信息包括但
不限于应用程序的名称、路径、版本号等,本实施例不对应用程序的具体信息进行限定。
具体存储时,可将其存储在本地,也可以存储在网络中,当然,也可以同时存储在本地
和网络中,本实施例不对存储位置及方式进行限定。
204:输出应用程序列表,提示用户在应用程序列表中选择提高运行速度的应用程序;根
据用户在应用程序列表中选择的应用程序接收提高该应用程序运行速度的指令以及该应用程
序的信息;
其中,在输出应用程序列表时,既可以仅输出应用程序名称,也可以在输出应用程序名
称的同时,输出该应用程序的图标,本实施例不对输出应用程序列表的方式及内容进行限定。
之所以会输出应用程序列表,提示用户在应用程序列表中选择提高运行速度的应用程序,是
为了实现针对每个应用程序分别提高运行速度的目的。例如,通过上述步骤201至步骤203
得到并存储了10个应用程序的预取数据信息,在实际应用过程中,并不是这10个应用程序
都需要运行,因此,为了避免同时加载这10个应用程序的磁盘数据而浪费系统资源,本实施
例采取了由用户选取的方式,分别加载需要的磁盘数据。如果用户在应用程序列表中选取了
哪个应用程序,则意味着用户希望提高该应用程序的运行速度,则在用户从应用程序列表中
选取应用程序的同时,触发发送提高应用程序运行速度的指令及该应用程序的信息,以触发
后续步骤根据该指令及信息加载对应的磁盘数据。其中,该应用程序的信息即为用户选择的
应用程序的信息。
205:根据该应用程序的信息获取预取数据信息,根据预取数据信息获取对应的磁盘数据,
将获取到的磁盘数据加载至内存。
具体地,无论上述步骤203将预取数据信息是存储在本地还是在网络,由于是根据应用
程序的信息进行存储的,因而每个预取数据信息均与应用程序的信息之间存在对应关系,则
在上述步骤204获取到应用程序的信息之后,即可根据该应用程序的信息获取对应的预取数
据信息。又由于预取数据信息中记录了磁盘数据的信息,因而可根据预取数据信息获取到对
应的磁盘数据。
将获取到的磁盘数据加载至内存时,即可以在系统空闲时加载也可以在应用程序运行时
加载,本实施例不对加载磁盘数据的时间进行限定。在系统空闲时加载获取到的磁盘数据时,
可先判断内存中是否存在待加载的磁盘数据,如果已经存在该磁盘数据,则无需再将其加载
至缓存,如果不存在该磁盘数据,则执行将其加载的步骤。相应的,在应用程序启动时加载
获取到的磁盘数据时,可先判断该应用程序是否启动,如果启动,则再加载获取到的磁盘数
据。无论是在系统空闲时加载获取到的磁盘数据,还是在应用程序启动时加载获取到的磁盘
数据,具体加载过程均可参照现有的加载流程实现,本实施例不对具体的加载方式进行限定。
本实施例提供的方法,通过采集应用程序运行时缺页中断对应的本地数据信息,并加载
根据本地数据信息获取到的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用
程序运行速度的目的;另外,由于缺页中断对应的本地数据信息不局限于本地数据的访问场
景,因而可增强速度提高的效果;且由于不同应用程序运行时缺页中断对应的本地数据信息
不同,针对不同应用程序具有不同的速度优化程度,因而可提高速度优化的针对性,进而扩
大速度优化的空间。
实施例三
参见图3,本发明实施例提供了一种提高应用程序运行速度的装置,该装置包括:
采集模块301,用于采集应用程序运行时缺页中断对应的本地数据信息,本地数据信息
包括本地数据所在文件的文件名、本地数据在文件内的偏移以及本地数据的大小;
获取模块302,用于根据采集模块301采集到的本地数据信息获取对应的本地数据;
加载模块303,用于获取到提高应用程序运行速度的指令后,加载获取模块302获取到
的本地数据。
其中,采集模块301,具体用于通过事件跟踪机制采集应用程序运行时的硬缺页事件和
软缺页事件,从记录了硬缺页事件和软缺页事件的事件跟踪日志中获取应用程序运行时缺页
中断对应的本地数据信息;
或者,采集模块301,具体用于通过钩子HOOK技术对系统底层调用进行监控,并获取用
于记录缺页中断对应的本地数据信息的监控代码,根据监控代码获取应用程序运行时缺页中
断对应的本地数据信息。
该采集模块301采集应用程序运行时缺页中断对应的本地数据信息的方式,详见上述实
施例二中步骤201的相关描述,此处不再赘述。
优选地,参见图4,该获取模块302,具体包括:
解析单元302a,用于解析采集模块301采集到的本地数据信息,得到本地数据所在文件
的文件名、本地数据在文件内的偏移以及本地数据的大小;
聚合单元302b,用于按照解析单元302a解析出的本地数据所在文件的文件名将采集到
的本地数据信息进行聚合;
合并单元302c,用于按照解析单元302a解析出的本地数据在文件内的偏移将聚合单元
302b聚合后的本地数据信息进行合并;
选取单元302d,用于在合并单元302c合并后的本地数据信息中选取符合预取条件的本
地数据信息作为预取数据信息;
获取单元302e,用于根据选取单元302d选取的预取数据信息获取对应的本地数据。
其中,解析单元302a解析本地数据信息的方式、聚合单元302b将采集到的本地数据信
息进行聚合的方式、合并单元302c将聚合单元302b聚合后的本地数据信息进行合并的方式,
以及选取单元302d在合并单元302c合并后的本地数据信息中选取符合预取条件的本地数据
信息的方式,均可详见上述实施例二中步骤202的相关描述,此处不再赘述。
进一步地,参见图5,该装置还包括:
存储模块304,用于根据应用程序的信息存储选取单元302d选取的预取数据信息;
参见图6,该加载模块303,具体包括:
第一获取单元3031,用于根据应用程序的信息获取存储模块304存储的预取数据信息;
第二获取单元3032,用于根据第一获取单元3031获取到的预取数据信息获取对应的本
地数据;
加载单元3033,用于将第二获取单元3032获取到的本地数据加载至内存。
其中,存储模块304存储预取数据信息的方式详见上述实施例二中步骤203的相关描述,
此处不再赘述。第一获取单元3031获取预取数据信息的方式、第二获取单元3032获取本地
数据的方式,以及加载单元3033加载本地数据的方式均详见上述实施例二中步骤205的相关
描述,此处不再赘述。
进一步地,参见图7,该装置还包括:
输出模块305,用于输出应用程序列表,提示用户在应用程序列表中选择提高运行速度
的应用程序;
接收模块306,用于根据用户在输出模块305输出的应用程序列表中选择的应用程序接
收提高应用程序运行速度的指令以及应用程序的信息。
该输出模块305输出应用程序列表的方式、接收模块306接收提高应用程序运行速度的
指令以及应用程序的信息的方式均可详见上述实施例二中步骤204的相关描述,此处不再赘
述。
本实施例提供的装置,通过采集应用程序运行时缺页中断对应的本地数据信息,并加载
根据本地数据信息获取到的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用
程序运行速度的目的;另外,由于缺页中断对应的本地数据信息不局限于本地数据的访问场
景,因而可增强速度提高的效果;且由于不同应用程序运行时缺页中断对应的本地数据信息
不同,针对不同应用程序具有不同的速度优化程度,因而可提高速度优化的针对性,进而扩
大速度优化的空间。
实施例四
本实施例提供了一种终端,该终端包括提高应用程序运行速度的装置;
其中,该提高应用程序运行速度的装置可如上述实施例三提供的装置,具体详见上述实
施例三的描述,此处不再赘述。
本实施例提供的终端包括但不限于手机、平板电脑、PDA(Personal Digital Assistant,
个人数字助理)等。
本实施例提供的终端,通过提高应用程序运行速度的装置采集应用程序运行时缺页中断
对应的本地数据信息,并加载根据本地数据信息获取到的本地数据,从而减少应用程序访问
IO操作的耗时,达到提高应用程序运行速度的目的;另外,由于缺页中断对应的本地数据信
息不局限于本地数据的访问场景,因而可增强速度提高的效果;且由于不同应用程序运行时
缺页中断对应的本地数据信息不同,针对不同应用程序具有不同的速度优化程度,因而可提
高速度优化的针对性,进而扩大速度优化的空间。
需要说明的是:上述实施例提供的提高应用程序运行速度的装置在提高应用程序运行速
度时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能
分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述
的全部或者部分功能。另外,上述实施例提供的提高应用程序运行速度的装置、终端与提高
应用程序运行速度的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再
赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,
也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之
内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。