应用程序加载方法、装置、存储介质以及终端与流程

文档序号:28216427发布日期:2021-12-28 22:17阅读:72来源:国知局
应用程序加载方法、装置、存储介质以及终端与流程

1.本技术涉及应用程序技术开发技术领域,尤其涉及一种应用程序加载方法、装置、存储介质以及终端。


背景技术:

2.随着科学技术的发展,终端也越来越多地出现在人们生活中,人们可以通过控制终端加载各种应用程序去实现各种功能,因此关于终端中应用程序的加载方法也成为本领域技术人员研究的重点之一。


技术实现要素:

3.本技术提供一种应用程序加载方法、装置、存储介质以及终端,可以解决相关技术中应用程序加载速度较慢的技术问题。
4.第一方面,本技术实施例提供一种应用程序加载方法,所述方法包括:
5.根据目标应用程序首次加载时的运行数据和所述目标应用程序对应的目标预设文件,确定所述目标应用程序的预加载信息,其中所述预加载信息为所述目标应用程序加载过程中目标预设文件的目标文件页的属性信息;
6.当所述目标应用程序满足加载条件时,获取所述目标应用程序的预加载信息;
7.在所述目标应用程序加载之前或者加载过程中,根据所述预加载信息对所述目标预设文件的目标文件页进行预加载。
8.第二方面,本技术实施例提供一种应用程序加载装置,所述装置包括:
9.预加载信息确定模块,用于根据目标应用程序首次加载时的运行数据和所述目标应用程序对应的目标预设文件,确定所述目标应用程序的预加载信息,其中所述预加载信息为所述目标应用程序加载过程中目标预设文件的加载信息;
10.预加载信息获取模块,用于当所述目标应用程序满足加载条件时,获取所述目标应用程序的预加载信息;
11.预加载信息执行模块,用于在所述目标应用程序加载之前或者加载过程中,根据所述预加载信息对所述目标预设文件的目标文件页进行预加载。
12.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法的步骤。
13.第四方面,本技术实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
14.本技术一些实施例提供的技术方案带来的有益效果至少包括:
15.本技术提供一种应用程序加载方法,首先根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息;然后当目标应用程序满足加载条件时,获取目标应用程序的预加载信息;最后在目标应用程序加载之前或者
加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。由于可以预先确定目标应用程序在加载过程中文件的加载信息,因此在目标应用程序加载之前或者加载过程中,可以提前对目标预设文件的目标文件页进行预加载,那么当目标应用程序加载目标预设文件时,可以直接使用加载之后的目标预设文件的加载结果,这样减少目标应用程序的整体加载时间,提高目标应用程序的整体加载速度。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种应用程序加载方法的示例性系统架构图;
18.图2为本技术实施例提供的一种应用程序加载方法的系统交互图;
19.图3为本技术实施例提供的一种应用程序加载方法的流程示意图;
20.图4为本技术另一实施例提供的一种应用程序加载方法的流程示意图;
21.图5为本技术另一实施例提供的一种应用程序加载装置的结构示意图;
22.图6为本技术实施例提供了一种终端的结构示意图。
具体实施方式
23.为使得本技术的特征和优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
25.图1为本技术实施例提供的一种应用程序加载方法的示例性系统架构图。
26.如图1所示,系统架构可以包括终端101、网络102和服务器103。网络102用于在终端101和服务器103之间提供通信链路的介质。网络102可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(wireless

fidelity,wi

fi)通信链路或微波通信链路等。
27.终端101可以通过网络102与服务器103交互,以接收来自服务器103的消息或向服务器103发送消息。终端101可以是硬件,也可以是软件。当终端101为硬件时,可以是各种电子设备,包括但不限于智能手表、智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当终端101为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
28.服务器103可以是提供各种服务的业务服务器。需要说明的是,服务器103可以是
硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
29.应理解,图1中的终端、网络以及服务器的数目仅是示意性的,根据实现需要,可以是任意数量的终端、网络以及服务器。
30.请参阅图2,图2为本技术实施例提供的一种应用程序加载方法的系统交互图,可以理解的,在本技术实施例中,执行主体可以终端或者终端中的处理器,还可以是终端中执行应用程序加载的相关服务,为方便描述下面以执行主体为终端中的处理器为例,结合图1和图2介绍一种应用程序加载方法中系统交互过程。
31.s201、用户首次触发加载目标应用程序。
32.s202、处理器根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
33.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息之前,还包括:当满足扫描条件时,扫描终端中的全部应用程序;分别获取各应用程序指定的预设文件,以及获取各预设文件对应的节点信息;其中预设文件中包括至少一个文件页,同一个预设文件中的文件页对应同一个节点信息。
34.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息之前,还包括:当目标应用程序满足加载条件,且判断不存在目标应用程序的预加载信息,则确定目标应用程序为首次加载;获取目标应用程序首次加载过程中的运行数据。
35.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,包括:解析目标应用程序首次加载过程中的运行数据,得到目标应用程序首次加载过程从磁盘读取到内存的所有文件页的文件页信息,其中文件页信息至少包括文件页所属的文件对应的节点信息;根据各文件页的文件页信息以及目标应用程序中目标预设文件对应目标节点信息,确定目标应用程序对应的目标文件页的目标文件页信息;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息。
36.可选地,文件页信息还包括文件页在所属的文件中偏移初始位置、偏移长度;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息,包括:根据目标应用程序对应的目标文件页信息,确定目标应用程序对应的目标文件页在目标预设文件中的位置信息;获取目标应用程序对应的目标文件页的加载时间标识,按照各目标文件页的加载时间标识对各目标文件页进行排序;将各目标文件页的排序结果以及各目标文件页的位置信息,作为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
37.s203、用户非首次触发加载目标应用程序。
38.s204、当目标应用程序满足加载条件时,获取目标应用程序的预加载信息。
39.s205、在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。
40.可选地,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:根据预加载信息中各目标文件页的位置信息,从磁盘中读取目标预设文件对应的各目标文件页;按照目标文件页的排序结果在内存中并行加载各目标文件页,以使得对目标预设文件的目标文件页进行预加载。
41.可选地,目标应用程序满足加载条件,包括:目标应用程序启动,确定目标应用程序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。
42.或者
43.目标应用程序满足加载条件,包括:存在指示目标应用程序的目标事件,确定目标应用程序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载之前,根据预加载信息对目标预设文件的目标文件页进行预加载。
44.在本技术实施例中,首先根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息;然后当目标应用程序满足加载条件时,获取目标应用程序的预加载信息;最后在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。由于可以预先确定目标应用程序在加载过程中文件的加载信息,因此在目标应用程序加载之前或者加载过程中,可以提前对目标预设文件的目标文件页进行预加载,那么当目标应用程序加载目标预设文件时,可以直接使用加载之后的目标预设文件的加载结果,这样减少目标应用程序的整体加载时间,提高目标应用程序的整体加载速度。
45.请参阅图3,图3为本技术实施例提供的一种应用程序加载方法的流程示意图。
46.如图3所示,应用程序加载方法包括:
47.s301、根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
48.在相关技术中,人们可以通过控制终端加载各种应用程序去实现各种功能,在应用程序的加载过程中,一般是通过单一的线程串行去运行应用程序对应的文件,也即在应用程序的加载过程中,必须等待前一个文件加载完成,才能继续加载后续的文件,以实现应用程序的完成加载过程,这会导致应用程序特别是启动时间较长的应用程序(例如,游戏类应用程序,这类应用程序启动时由于要加载动画、游戏资源,启动时长较长),加载速度较慢。
49.针对上述技术问题,在本技术实施例中,通过预先加载应用程序中的指定文件,这样减少应用程序的加载时间,提高应用程序的加载速度。
50.具体的,本技术实施例中目标应用程序,可以是终端中安装的任意一个应用程序,当终端的运行过程中,当监测到目标应用程序满足加载条件时,也即代表终端需要对目标应用程序进行加载,此时可以先判断目标应用程序是否为首次加载,如果目标应用程程序不是首次加载,则对目标应用程序进行首次加载,并获取目标应用程序在首次加载过程中
的运行数据,其中,目标应用程序首次加载过程中的运行数据至少包括应用程序加载过程中从磁盘到内存的所有文件页信息,那么根据目标应用程序在首次加载过程中的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中,预加载信息为目标应用程序加载过程中目标预设文件的属性信息,目标预设文件可以是目标应用程序加载过程中某一个或者多个指定的文件。
51.可以理解的,应用程序中加载的文件是由一个或者多个文件页组成的,文件页可以认为是组成文件的一个单位,例如,某文件有100兆的大小,且该文件由100个文件页组成,那么可能第一文件页的在文件的第一位置或者第一区域处,其第一文件页的大小为2兆,各文件页的数据大小总和也即该文件的大小。应用程序启动过程可以认为是按对应的文件中的文件页顺序进行加载的,因此目标预设文件的目标文件页的属性信息还可以具体是,目标预设文件中目标文件页的属性信息,目标文件页可以是目标应用程序加载目标预设文件中的一个或者多个指定的文件页,属性信息可以是目标文件页的加载顺序、存储位置等信息。
52.s302、当目标应用程序满足加载条件时,获取目标应用程序的预加载信息。
53.当目标应用程序满足加载条件时,并判断目标应用程序是不为首次加载,那么就代表在目标应用程序之前的首次加载中,已经确定了目标应用程序的预加载信息,那么在监测到目标应用程序满足加载条件时,就可以直接获取目标应用程序的预加载信息。
54.s303、在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。
55.在获取到目标应用程序的预加载信息之后,可以根据预加载信息确定目标应用程序的目标预设文件,并对该目标预设文件的目标文件页进行预加载。
56.在对该目标预设文件的目标文件页进行预加载的过程中,可以根据目标应用程序满足的具体加载条件,使用不同的方式对目标预设文件的目标文件页进行预加载。
57.一种可行的实施方式是,当目标应用程序启动之后,确定目标应用程序满足加载条件。其中,目标应用程序启动的过程可以是,用户通过触摸终端中的显示屏上目标应用程序对应的图标,以启动目标应用程序;还可以是用户发出启动目标应用程序类似的语音命令,以启动目标应用程序,本技术对启动目标应用程序的方式,可以不做具体限定。
58.由于监测到目标应用程序启动之后,也就意味这目标应用程序已经处于加载过程,但是目标预设文件可以是目标应用程序加载过程中某一个或者多个指定的文件,因此目标应用程序在加载的过程中,并不一定会先加载目标预设文件,因此此时可以在目标应用程序加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,也即在目标应用程序加载过程中,根据预加载信息提前对目标预设文件的目标文件页进行加载。
59.另一种可行的实施方式是,当存在指示目标应用程序的目标事件时,确定目标应用程序满足加载条件。其中,指示目标应用程序的目标事件可以是与目标应用程序关联的语音、用户习惯、手势、地理位置信息等,具体的目标时间可以通过大数据分析或者用户进行指定。
60.由于当存在指示目标应用程序的目标事件时,目标应用程序还未启动,此时可以在目标应用程序加载之前,根据预加载信息对目标预设文件的目标文件页进行预加载,也即在目标应用程序加载之前中,根据预加载信息提前对目标预设文件的目标文件页进行加
载。
61.在本技术实施例中,首先根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息;然后当目标应用程序满足加载条件时,获取目标应用程序的预加载信息;最后在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。由于可以预先确定目标应用程序在加载过程中文件的加载信息,因此在目标应用程序加载之前或者加载过程中,可以提前对目标预设文件的目标文件页进行预加载,那么当目标应用程序加载目标预设文件时,可以直接使用加载之后的目标预设文件的加载结果,这样减少目标应用程序的整体加载时间,提高目标应用程序的整体加载速度。
62.请参阅图4,图4为本技术另一实施例提供的一种应用程序加载方法的流程示意图。
63.如图4所示,该方法包括:
64.s401、当满足扫描条件时,扫描终端中的全部应用程序。
65.可以理解的,目标预设文件可以是目标应用程序加载过程中某一个或者多个指定的文件,且目标预设文件也是可以包括一个或者多个文件页,但是目标预设文件中的所有文件页并不都是目标应用程序加载所需要的,因此在本技术实施例中,为了更加准确加载目标预设文件,可以获取目标应用程序加载目标预设文件中所需的目标文件页,那么在根据预加载信息对目标预设文件的目标文件页进行预加载过程中,可以仅仅对目标预设文件中所需的目标文件页进行预先记载,而不需要对目标预设文件中除目标文件页以外的文件页进行加载,以减少加载不必要文件页所浪费的时间。
66.为了确定目标应用程序加载目标预设文件中所需的目标文件页,可以先确定目标应用程序中的目标预设文件。具体的,可以在终端中满足扫描条件时,扫描终端中的全部应用程序,其中终端中满足扫描条件可以是,监测到终端开机、终端中的任一应用程序更新、终端中的任一应用程序安装和卸载等事件时,即可确定终端中满足扫描条件,此时可以扫描终端中的全部应用程序,以获取终端中的全部应用程序对应的数据。
67.s402、分别获取各应用程序指定的预设文件,以及获取各预设文件对应的节点信息。
68.在获取到终端中的全部应用程序对应的数据之后,可以分别获取各应用程序指定的预设文件,其中,预设文件为各应用程序加载过程中的一个或者多个文件。
69.可选地,预设文件并不是应用程序加载过程中对应的所有文件,可以是应用程序加载过程中耗时超过预设耗时阈值的文件,也即预设文件可以是应用程序加载过程中耗时较长的文件,这样当后续可以提前对预设文件进行预加载之后,可以减少应用程序对预设文件进行加载的耗时。另外,预设文件还可以是开发人员指定的默认文件,例如,可以是apk、dex文件,该默认的预设文件可以是开发人员在云端进行反复测试,通过配置不同的加载文件列表,筛选出收益最好的配置作为应用程序默认的预设文件。另外,预设文件也可以是应用程序本身通过开放的接口自行配置的文件,本技术实施例中,对预设文件的具体类型不做限定。
70.在确定各应用程序指定的预设文件之后,还可以获取预设文件对应的节点信息,
其中节点信息可以认为是一种身份标识,用于标记不同文件的身份,不同文件的节点信息不同。例如,节点信息可以是inode节点,其中inode节点可以对应预设文件的文件名和/或文件保存路径。
71.可以理解的,由于预设文件中可以包括一个或者多个文件页,也即在预设文件中包括至少一个文件页,那么处于同一个预设文件中的文件页对应同一个节点信息,不同预设文件中的文件页是对应不同的节点信息。
72.s403、当目标应用程序满足加载条件,且判断不存在目标应用程序的预加载信息,则确定目标应用程序为首次加载。
73.可以理解的,在目标应用程序首次加载时,需要确定目标应用程序的预加载信息,那么在检测到目标应用程序满足加载条件之后,判断终端中是否保存有目标应用程序的预加载信息,如果终端中没有保存有目标应用程序的预加载信息,那么就可以判断出终端中不存在目标应用程序的预加载信息,也就可以确定目标应用程序为首次加载。
74.s404、获取目标应用程序首次加载过程中的运行数据。
75.在确定目标应用程序为首次加载之后,可以监测目标应用程序首次加载过程中的运行数据,一种可行的实施方式是,通过某一函数、某种算法或者某一线程去监测目标应用程序首次加载过程中的运行数据。例如,可以通过ftrace技术,在目标应用程序启动之后,抓取目标应用程序的trace信息,trace的数据源配置为ftrace事件中的增页事件,ftrace事件记录了内核的运行时行为,其增页事件包含了应用程序加载过程中从磁盘到内存的文件页信息,目标应用程序首次加载过程中的运行数据也可以认为至少包括了,应用程序加载过程中从磁盘到内存的所有文件页信息,也就通过ftrace技术可以得到目标应用程序首次加载过程中的运行数据。
76.如果确定目标应用程序是不为首次加载,就代表在目标应用程序之前的首次加载中,可以直接执行获取目标应用程序的预加载信息的步骤。
77.s405、解析目标应用程序首次加载过程中的运行数据,得到目标应用程序首次加载过程从磁盘读取到内存的所有文件页的文件页信息。
78.当获取目标应用程序首次加载过程中的运行数据之后,可以对目标应用程序首次加载过程中的运行数据进行解析,由于应用程序中加载的文件是由一个或者多个文件页组成的,那么通过解析可以得到目标应用程序首次加载过程从磁盘读取到内存的所有文件页以及各文件页对应的文件页信息,其中文件页信息至少包括文件页所属的文件对应的节点信息。
79.s406、根据各文件页的文件页信息以及目标应用程序中目标预设文件对应目标节点信息,确定目标应用程序对应的目标文件页的目标文件页信息。
80.由于文件页信息至少包括文件页所属的文件对应的节点信息,因此可以将各文件页所属的文件对应的节点信息,与目标应用程序中目标预设文件对应目标节点信息进行比较,将与目标应用程序中目标预设文件对应目标节点信息相同的节点信息的文件页,确定为目标应用程序中预设目标文件的目标文件页,那么目标文件页也即目标应用程序加载目标预设文件时所需的文件页,进而也就可以获取目标文件页的目标文件页信息。
81.s407、根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息。
82.目标文件页也即目标应用程序加载目标预设文件时所需的文件页,那么根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息,可以使得根据预加载信息对目标预设文件进行预加载过程中,可以仅仅对目标预设文件中所需的目标文件页进行预先记载,而不需要对目标预设文件中除目标文件页以外的文件页进行加载,以减少不必要文件页所浪费的时间。
83.可选地,文件页信息还包括文件页在所属的文件中偏移初始位置、偏移长度,那么在根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息的过程中,可以根据目标应用程序对应的目标文件页信息中包括的目标文件页在目标预设文件中的偏移初始位置、偏移长度,确定目标应用程序对应的目标文件页在目标预设文件中的位置信息。
84.其中,目标文件页在目标预设文件中的偏移初始位置、偏移长度,可以认为是目标文件页所对应的数据,在目标预设文件所对应的数据中的区域信息或者保存信息,因此可以根据目标应用程序对应的目标文件页信息中包括的目标文件页在目标预设文件中的偏移初始位置、偏移长度,确定目标应用程序对应的目标文件页在目标预设文件中的位置信息。
85.进一步地,还可以获取目标应用程序对应的目标文件页的加载时间标识,按照各目标文件页的加载时间标识对各目标文件页进行排序,最后将各目标文件页的排序结果以及各目标文件页的位置信息,作为目标应用程序的预加载信息。
86.s408、当目标应用程序满足加载条件时,获取目标应用程序的预加载信息。
87.当监测到目标应用程序满足加载条件,并判断目标应用程序是不为首次加载,那么就代表在目标应用程序之前的首次加载中,已经确定了目标应用程序的预加载信息,那么在监测到目标应用程序满足加载条件时,就可以直接获取目标应用程序的预加载信息。
88.s409、在目标应用程序加载之前或者加载过程中,根据预加载信息中各目标文件页的位置信息,从磁盘中读取目标预设文件对应的各目标文件页。
89.在获取到目标应用程序的预加载信息之后,且目标应用程序的预加载信息中包括了各目标文件页的排序结果以及各目标文件页的位置信息,那么可以根据预加载信息中各目标文件页的位置信息,从磁盘中读取目标预设文件对应的各目标文件页。
90.s410、按照目标文件页的排序结果在内存中并行加载各目标文件页,以使得对目标预设文件的目标文件页进行预加载。
91.可选地,从磁盘中读取目标预设文件对应的各目标文件页之后,可以按照目标文件页的排序结果,通过至少两个线程在内存中并行加载各目标文件页,也即同时对各目标文件页进行加载,以使得对目标预设文件的目标文件页进行预加载。例如,可以按照目标文件页的排序结果,先通过两个线程在内存中并行加载处于排序结果中前两位的目标文件页。相较于现有技术中,通过单个线程对文件页进行串行加载,可以有效提高文件页的加载速度。
92.在本技术实施例中,为了更加准确加载目标预设文件,可以获取目标应用程序加载目标预设文件中所需的目标文件页,那么在根据预加载信息对目标预设文件的目标文件页进行预加载过程中,可以仅仅对目标预设文件中所需的目标文件页进行预先记载,而不需要对目标预设文件中除目标文件页以外的文件页进行加载,以减少不必要文件页所浪费
的时间。
93.请参阅图5,图5为本技术另一实施例提供的一种应用程序加载装置的结构示意图。
94.如图5所示,应用程序加载装置500包括:
95.预加载信息确定模块510,用于根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
96.可选地,应用程序加载装置500还包括:
97.扫描模块,用于当满足扫描条件时,扫描终端中的全部应用程序。
98.节点信息获取模块,用于分别获取各应用程序指定的预设文件,以及获取各预设文件对应的节点信息。
99.可选地,应用程序加载装置500还包括:
100.首次加载确定模块,用于当目标应用程序满足加载条件,且判断不存在目标应用程序的预加载信息,则确定目标应用程序为首次加载。
101.首次加载获取模块,用于获取目标应用程序首次加载过程中的运行数据。
102.预加载信息确定模块510,还用于解析目标应用程序首次加载过程中的运行数据,得到目标应用程序首次加载过程从磁盘读取到内存的所有文件页的文件页信息,其中文件页信息至少包括文件页所属的文件对应的节点信息;根据各文件页的文件页信息以及目标应用程序中目标预设文件对应目标节点信息,确定目标应用程序对应的目标文件页的目标文件页信息;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息。
103.其中,文件页信息还包括文件页在所属的文件中偏移初始位置、偏移长度;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息,包括:根据目标应用程序对应的目标文件页信息,确定目标应用程序对应的目标文件页在目标预设文件中的位置信息;获取目标应用程序对应的目标文件页的加载时间标识,按照各目标文件页的加载时间标识对各目标文件页进行排序;将各目标文件页的排序结果以及各目标文件页的位置信息,作为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
104.预加载信息获取模块520,用于监测到目标应用程序满足加载条件时,获取目标应用程序的预加载信息。
105.预加载信息执行模块530,用于在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。
106.预加载信息执行模块530,还用于根据预加载信息对目标预设文件的目标文件页进行预加载,包括:根据预加载信息中各目标文件页的位置信息,从磁盘中读取目标预设文件对应的各目标文件页;在内存中并行加载各目标文件页,以使得对目标预设文件的目标文件页进行预加载。
107.可选地,目标应用程序满足加载条件,包括:目标应用程序启动,确定目标应用程序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载;
108.或者
109.目标应用程序满足加载条件,包括:存在指示目标应用程序的目标事件,确定目标应用程序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载之前,根据预加载信息对目标预设文件的目标文件页进行预加载。
110.在本技术实施例中,一种应用程序加载装置包括:预加载信息确定模块,用于根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的加载信息;预加载信息获取模块,用于当目标应用程序满足加载条件时,获取目标应用程序的预加载信息;预加载信息执行模块,用于在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。由于可以预先确定目标应用程序在加载过程中文件的加载信息,因此在目标应用程序加载之前或者加载过程中,可以提前对目标预设文件的目标文件页进行预加载,那么当目标应用程序加载目标预设文件时,可以直接使用加载之后的目标预设文件的加载结果,这样减少目标应用程序的整体加载时间,提高目标应用程序的整体加载速度。
111.本技术实施例还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
112.进一步地,请参见图6,图6为本技术实施例提供了一种终端的结构示意图。如图6所示,终端600可以包括:至少一个中央处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。
113.其中,通信总线602用于实现这些组件之间的连接通信。
114.其中,用户接口603可以包括显示屏(display)、摄像头(camera),可选用户接口603还可以包括标准的有线接口、无线接口。
115.其中,网络接口604可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。
116.其中,中央处理器601可以包括一个或者多个处理核心。中央处理器601利用各种接口和线路连接整个终端600内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行终端600的各种功能和处理数据。可选的,中央处理器601可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field

programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。中央处理器601可集成中央中央处理器(central processing unit,cpu)、图像中央处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器601中,单独通过一块芯片进行实现。
117.其中,存储器605可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory)。可选的,该存储器605包括非瞬时性计算机可读介质(non

transitory computer

readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功
能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器605可选的还可以是至少一个位于远离前述中央处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及应用程序加载程序。
118.在图6所示的终端600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器601可以用于调用存储器605中存储的应用程序加载程序,并具体执行以下操作:
119.根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,其中预加载信息为目标应用程序加载过程中目标预设文件的目标文件页的属性信息;
120.当目标应用程序满足加载条件时,获取目标应用程序的预加载信息;
121.在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载。
122.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息之前,还包括:当满足扫描条件时,扫描终端中的全部应用程序;分别获取各应用程序指定的预设文件,以及获取各预设文件对应的节点信息;其中预设文件中包括至少一个文件页,同一个预设文件中的文件页对应同一个节点信息。
123.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息之前,还包括:当目标应用程序满足加载条件,且判断不存在目标应用程序的预加载信息,则确定目标应用程序为首次加载;获取目标应用程序首次加载过程中的运行数据。
124.可选地,根据目标应用程序首次加载时的运行数据和目标应用程序对应的目标预设文件,确定目标应用程序的预加载信息,包括:解析目标应用程序首次加载过程中的运行数据,得到目标应用程序首次加载过程从磁盘读取到内存的所有文件页的文件页信息,其中文件页信息至少包括文件页所属的文件对应的节点信息;根据各文件页的文件页信息以及目标应用程序中目标预设文件对应目标节点信息,确定目标应用程序对应的目标文件页的目标文件页信息;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息。
125.可选地,文件页信息还包括文件页在所属的文件中偏移初始位置、偏移长度;根据目标应用程序对应的目标文件页信息,确定目标应用程序的预加载信息,包括:根据目标应用程序对应的目标文件页信息,确定目标应用程序对应的目标文件页在目标预设文件中的位置信息;获取目标应用程序对应的目标文件页的加载时间标识,按照各目标文件页的加载时间标识对各目标文件页进行排序;将各目标文件页的排序结果以及各目标文件页的位置信息,作为目标应用程序加载过程中目标预设文件的目标文件页的属性信息。
126.可选地,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:根据预加载信息中各目标文件页的位置信息,从磁盘中读取目标预设文件对应的各目标文件页;在内存中并行加载各目标文件页,以使得对目标预设文件的目标文件页进行预加载。
127.可选地,目标应用程序满足加载条件,包括:目标应用程序启动,确定目标应用程
序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载;
128.或者
129.目标应用程序满足加载条件,包括:存在指示目标应用程序的目标事件,确定目标应用程序满足加载条件;在目标应用程序加载之前或者加载过程中,根据预加载信息对目标预设文件的目标文件页进行预加载,包括:在目标应用程序加载之前,根据预加载信息对目标预设文件的目标文件页进行预加载。
130.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
131.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
132.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
133.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
135.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
136.以上为对本技术所提供的一种应用程序加载方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1