应用程序加载方法、装置、终端及存储介质
技术领域
本申请实施例涉及应用加载技术领域,特别涉及一种应用程序加载方法、装置、终端及存储介质。
背景技术
随着手机、平板电脑等终端的不断发展,终端中安装的应用程序种类也不断增多,以实现用户的不同需求。
当用户需要使用某一应用程序时,即从应用程序列表选中该应用程序,相应的,终端根据用户的选择读取该应用程序的应用资源,进而加载应用资源完成应用程序启动,最终显示应用程序的初始界面。
发明内容
本申请实施例提供了一种应用程序加载方法、装置及终端,可以用于解决加载应用程序时,需要耗费较长时间,导致应用界面显示延迟较大的问题。该技术方案如下:
根据本申请的第一方面,提供了一种应用程序加载方法,该方法包括:
获取状态数据,状态数据用于表示终端的运行状态;
根据状态数据确定预加载的目标应用程序;
加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,虚拟屏幕对应的显示区域位于实体屏幕对应的显示区域之外;
当接收到目标应用程序的运行指令时,将目标应用程序对应的应用窗口迁移至实体屏幕。
根据本申请的第二方面,提供了一种应用程序加载装置,该装置包括:
数据获取模块,用于获取状态数据,状态数据用于表示终端的运行状态;
确定模块,用于根据状态数据确定预加载的目标应用程序;
加载显示模块,用于加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,虚拟屏幕对应的显示区域位于实体屏幕对应的显示区域之外;
迁移模块,用于当接收到目标应用程序的运行指令时,将目标应用程序对应的应用窗口迁移至实体屏幕。
根据本申请的第三方面,提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,指令由处理器加载并执行以实现如第一方面所述的应用程序加载方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如第一方面所述的应用程序加载方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,终端根据状态数据确定预加载的目标应用程序,进而提前加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,当需要运行目标应用程序时,终端即可直接将虚拟屏幕中显示的应用窗口迁移至实体屏幕中进行显示。通过上述预加载机制预先加载目标应用程序后,当需要运行目标应用程序时,只需要将虚拟屏幕中的应用窗口迁移到实体屏幕中,无需重新加载目标应用程序的应用资源,从而提高了应用界面的显示效率,解决了应用界面显示延迟的问题;同时,由于虚拟屏幕在实体屏幕的显示区域之外,因此,虚拟屏幕中的显示内容不会对实体屏幕内的显示内容造成影响,保证前台应用的正常运行。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的应用程序加载方法的流程图;
图2示出了本申请一个示例性实施例提供的虚拟屏幕与实体屏幕的相对位置示意图;
图3示出了本申请另一个示例性实施例提供的应用程序加载方法的流程图;
图4通过预测模型预测目标应用程序的实施示意图;
图5是虚拟屏幕中应用窗口迁移过程的实施示意图;
图6示出了本申请一个示例性实施例提供的应用程序加载装置的结构图;
图7示出了本申请一个示例性实施例提供的终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请涉及的若干名词进行介绍。
预测模型:是一种用于根据输入的数据预测出需要预加载的目标应用程序的数学模型。
预测模型是根据样本状态数据和样本应用数据训练得到的。其中,样本状态数据是表示终端所处运行状态的状态数据;样本应用数据则用于指示上述运行状态下需要进行预加载的目标应用程序。
可选地,样本状态数据和样本应用程序存储于样本库。样本库包括至少一组样本,每组样本包括同时采集到的样本状态数据和样本应用数据。
可选地,状态数据包括但不限于以下几种中的至少一种:
用于表示当前时间所处的时间段的数据。比如:将一天中的24小时每隔10分钟分为一段,则得到144个时间段,其中,状态数据i表示当前时间所处的时间段为第i个时间段,1≤i≤144,i为整数。当然,也可以按照其它方式划分时间段,且不同的时间段之间的时长可以相同,也可以不同,本实施对此不作限定。
用于表示前台运行的应用程序的数据。比如:状态数据APP1表示前台运行xx浏览器,状态数据APP2表示前台运行xx社交应用,状态数据APP3表示前台运行xx购物应用等。当然,也可以通过其它数据表示应用程序,本申请对此不作限定。
用于表示当前所处地理位置的数据。比如:终端根据地理位置数据确定所处的地点,进而用状态数据ADD1表示地理位置指示终端处于商店,状态数据ADD2表示终端处于公交站,状态数据ADD3表示终端处于家中等等。当然,也可以通过其它数据表示当前所处的地理位置,本申请对此不作限定。
可选地,预测模型包括但不限于:逻辑回归(Logistic Regression,LR)模型和贝叶斯(Bayesian)模型中的至少一种。
当然,预测模型还可以为其它模型,比如:深度神经网络(Deep NeuralNetwork,DNN)模型、循环神经网络(Recurrent Neural Networks,RNN)模型、嵌入(embedding)模型、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)模型等,本实施例在此不再一一列举。
DNN模型是一种深度学习框架。DNN模型包括输入层、至少一层隐层(或称,中间层)和输出层。可选地,输入层、至少一层隐层(或称,中间层)和输出层均包括至少一个神经元,神经元用于对接收到的数据进行处理。可选地,不同层之间的神经元的数量可以相同;或者,也可以不同。
RNN模型是一种具有反馈结构的神经网络。在RNN模型中,神经元的输出可以在下一个时间戳直接作用到自身,即,第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出。
embedding模型是基于实体和关系分布式向量表示,将每个三元组实例中的关系看作从实体头到实体尾的翻译。其中,三元组实例包括主体、关系、客体,三元组实例可以表示成(主体,关系,客体);主体为实体头,客体为实体尾。比如:小明的爸爸是大明,则通过三元组实例表示为(小明,爸爸,大明)。
GBDT模型是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结果累加起来作为最终结果。决策树的每个节点都会得到一个预测值,以年龄为例,预测值为属于年龄对应的节点的所有人年龄的平均值。
本申请各个实施例提供的应用程序加载方法由终端执行,该终端可以是智能手机、平板电脑或便携式计算机等等,该终端具有创建虚拟屏幕的功能,终端可以将加载应用程序得到的应用窗口显示在虚拟屏幕中。其中,虚拟屏幕与实体屏幕尺寸相同,且虚拟屏幕与实体屏幕的显示区域之间不存在交集。为了方便描述,下述各个实施例以应用程序加载方法应用于终端为例进行说明。
参考图1,其示出了本申请一个示例性实施例提供的应用程序加载方法的流程图。本实施例以该方法应用于终端中来举例说明。该方法包括:
步骤101,获取状态数据,状态数据用于表示终端的运行状态。
本实施例中,终端预加载用户将要运行的目标应用程序,当接收到目标应用程序的运行指令时,由于目标应用程序已经预加载,因此显示应用界面的效率也相应提高。
一般情况下,终端在不同运行状态下,需要进行预加载的应用程序也不同。
例如,每天清晨7:00~9:00用户都需要打开xx头条以获取当日要闻,即在当前时间对应的时间段为7:00~9:00时,终端需要预加载xx头条。
因此,在确定预加载的目标应用程序之前,终端获取状态数据,进而根据状态数据确定需要预加载的目标应用程序。
可选的,终端每隔预设时长采集状态数据。预设时长是终端默认设置的;或者,预设时长是操作系统通过人机交互接口接收到的。本实施例不对预设时长的取值作限定,示意性地,预设时长为15min。
其中,状态数据包括但不限于以下几种:用于表示当前时间所处的时间段的数据、用于表示前台运行的应用程序的数据和用于表示当前所处地理位置的数据中的至少一种。
步骤102,根据状态数据确定预加载的目标应用程序。
相应的,终端获取到状态数据后,即根据状态数据确定预加载的目标应用程序,其中,确定出的预加载的目标应用程序的数量为至少一个。
在一种可能的实现方式中,终端统计各个时间段内,各个应用程序的打开次数,并根据统计结果存储时间段与打开次数最多的应用程序的对应关系,进而根据当前时刻所属的时间段确定目标应用程序。
示意性的,时间段与该时间段内打开次数最多的应用程序的对应关系如表一所示:
表一
时间段 |
应用程序 |
48(8:00~8:10) |
xx新闻程序 |
54(9:00~9:10) |
xx社交应用 |
60(10:00~10:10) |
xx购物应用 |
… |
… |
比如,当获取到的状态数据指示当前时间段为60时,终端查询表一即可得目标应用程序为xx购物应用。
可选的,终端根据每个时间段内各个应用程序的打开次数,确定打开次数最多的前n个应用程序(n≥2),进而将该n个应用程序都确定为目标应用程序,本实施例并不对确定出的目标应用程序的数量进行限定。
在另一种可能的实现方式中,终端预先建立预测模型,当需要确定预加载的目标应用程序时,终端将状态数据输入预测模型中,获取预测模型输出的预加载的目标应用程序。其中,预测模型根据样本状态数据和样本应用程序通过机器学习算法训练得到。
步骤103,加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,虚拟屏幕对应的显示区域位于实体屏幕对应的显示区域之外。
终端确定目标应用程序后,即加载目标应用程序,进而将目标应用程序显示在创建的虚拟屏幕中。
其中,虚拟屏幕的尺寸与实体屏幕的尺寸相同,且每个虚拟屏幕对应一个目标应用程序。
在一种可能的实现方式中,终端需要预加载多个目标应用程序时,预先创建多个虚拟屏幕,进而将各个目标应用程序对应的应用窗口分别显示在相应的虚拟屏幕中。
为了避免虚拟屏幕中显示的应用窗口对实体屏幕当前显示的内容造成影响,虚拟屏幕对应的显示区域位于实体屏幕对应的显示区域之外。
示意性的,如图2所示,以实体屏幕211的左下顶点为坐标原点建立直角坐标系,其中,实体屏幕211对应的显示区域的显示范围为(0,0)~(1080,1920),创建的虚拟屏幕212对应的显示区域的范围为(1620,0)~(2700,1920)。
当加载了目标应用程序后,终端将目标应用程序对应的应用窗口显示在虚拟屏幕内,由于虚拟屏幕的显示区域范围不在实体屏幕对应的显示区域范围内,因此,在虚拟屏幕上显示的应用窗口不影响实体屏幕上内容的显示。
步骤104,当接收到目标应用程序的运行指令时,将目标应用程序对应的应用窗口迁移至实体屏幕。
可选的,当终端接收到用户对目标应用程序对应的图标的点击信号时,终端接收到目标应用程序的运行指令。
由于目标应用程序已经提前加载完毕,并在虚拟屏幕上显示了目标应用程序对应的应用窗口,因此,当接收到对目标应用程序的运行指令时,终端即可将已显示的应用窗口迁移至实体屏幕对应的显示范围,以提高应用窗口的显示效率。
相应的,实体屏幕内显示的应用程序切换至后台。
可选的,终端通过改变虚拟屏幕对应的显示区域的坐标范围,将应用窗口迁移到实体屏幕对应的显示范围内。
结合步骤103中的例子,当接收到目标应用程序的运行指令时,终端将虚拟屏幕212的显示坐标范围更改为(0,0)~(1080,1920),由于此时虚拟屏幕212的显示区域与实体屏幕211的显示区域相同,因此实体屏幕211的显示区域中即可显示目标应用程序对应的应用窗口。
可选的,终端将应用窗口迁移至实体屏幕后,移除虚拟屏幕,以节省内存空间。
综上所述,本申请实施例中,终端根据状态数据确定预加载的目标应用程序,进而提前加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,当需要运行目标应用程序时,终端即可直接将虚拟屏幕中显示的应用窗口迁移至实体屏幕中进行显示。通过上述预加载机制预先加载目标应用程序后,当需要运行目标应用程序时,只需要将虚拟屏幕中的应用窗口迁移到实体屏幕中,无需重新加载目标应用程序的应用资源,从而提高了应用界面的显示效率,解决了应用界面显示延迟的问题;同时,由于虚拟屏幕在实体屏幕的显示区域之外,因此,虚拟屏幕中的显示内容不会对实体屏幕内的显示内容造成影响,保证前台应用的正常运行。
在一种可能的实现方式中,终端预先根据用户的实际使用习惯训练预测模型,当需要确定预加载的目标应用程序时,终端根据预测模型得到目标应用程序,以提高确定出的目标应用程序的准确性。
参考图2,其示出了本申请一个示例性实施例提供的应用程序加载方法的流程图。本实施例以该方法应用于终端中来举例说明。该方法包括:
步骤301,获取状态数据,状态数据用于表示终端的运行状态。
在一种可能的实现方式中,终端每隔预设时长采集基础数据,并对该基础数据进行预处理得到状态数据。
可选的,当基础数据为当前时间时,对基础数据进行预处理包括:确定当前时间所属的时间段,根据确定结果将当前时间转化为状态数据。
比如:将一天中的24小时每隔10分钟分为一段,得到144个时间段,其中,状态数据i表示当前时间所属的时间段为第i个时间段,1≤i≤144,i为整数。若当前时间为10:09,终端确定当前时间所属的时间段为第60个时间段,获取到状态数据为60。
可选的,当基础数据为前台运行的应用程序的程序标识时,对基础数据进行预处理包括:根据程序标识与状态数据之间的对应关系,将程序标识转化为状态数据。
比如:当程序标识为xx浏览器,终端获取到状态数据为APP1;当程序标识为xx社交应用,终端获取到状态数据为APP2;当程序标识为xx购物应用,终端获取到的状态数据为APP3。
可选的,当基础数据为当前所处地理位置时,对基础数据进行预处理包括:根据地理位置与状态数据之间的对应关系,将地理位置转化为状态数据。
比如:当前所处的地理位置指示终端处于商店时,转化后的状态数据为ADD1;当前所处的地理位置指示终端处于公交站时,转化后的状态数据为ADD2;当前所处的地理位置指示处于用户家中时,转化后的状态数据为ADD3。
步骤302,将状态数据输入预测模型,得到目标应用程序,预测模型根据样本状态数据和样本应用数据训练得到。
可选地,终端存储有样本库,该样本库包括至少一组样本,每组样本包括终端运行过程中采集到的样本状态数据和样本应用数据。
针对预测模型的训练方式,可选的,预测模型有三种训练方式,其中,用于训练预测模型的样本状态数据分别为用于表示当前时间所处的时间段的数据,用于表示前台运行的应用程序的数据以及用于表示当前所处地理位置的数据。
在第一种实施方式中,终端获取不同时间段内,运行的应用程序的应用标识;将时间段作为样本状态数据,将应用标识作为样本应用数据,训练预测模型;
通常情况下,用户往往在特定的时间段内打开特定的应用程序,因此,终端可以根据当前时刻所属的时间段,确定需要预加载的目标应用程序。
在预测模型训练阶段,终端获取运行过程中,不同时间段内运行的应用程序的应用标识,并将时间段作为预测模型的输入(即作为样本状态数据),将应用标识作为预测模型的输出(即作为样本应用数据),训练预测模型。
相应的,在预测模型使用阶段,终端获取当前时刻所属的时间段(即状态数据),并将该时间段输入预测模型中,从而获取预测模型输出的目标应用程序。
在第二种实施方式中,获取应用跳转记录,应用跳转记录用于表示由第一应用程序跳转至第二应用程序;将第一应用程序的应用标识作为样本状态数据,将第二应用程序的应用标识作为样本应用数据,训练预测模型;
通常情况下,用户往往在打开第一应用程序后打开第二应用程序,例如,当用户打开相机进行拍照后,经常打开相册进行图片的浏览。因此,终端可以根据位于前台运行的应用程序,确定需要预加载的目标应用程序。
在预测模型训练阶段,终端获取运行过程中,应用跳转前后分别位于前台运行的第一应用程序的标识和第二应用程序的标识,并将第一应用程序的应用标识作为预测模型的输入(即作为样本状态数据),将第二应用程序的应用标识作为预测模型的输出(即作为样本应用数据),训练预测模型。
相应的,在预测模型使用阶段,终端获取前台运行的应用程序的应用标识(即状态数据),并将该应用标识输入预测模型中,从而获取预测模型输出的目标应用程序。
在第三种实施方式中,获取应用开启记录,应用开启记录中包含地理位置数据和开启的应用程序的应用标识;将地理位置数据作为样本状态数据,将应用标识作为样本应用数据,训练预测模型。
通常情况下,用户往往在特定的地理位置打开特定的应用程序,例如,当前所处的地理位置指示终端处于商店时,用户需要打开支付应用程序进行支付。因此,终端可以根据当前所处的地理位置确定需要加载的目标应用程序。
在预测模型训练阶段,终端获取运行过程中应用开启记录,并将应用开启记录中包含的地理位置数据作为预测模型的输入(即作为样本状态数据),将应用标识作为预测模型的输出(即作为样本应用数据),训练预测模型。
相应的,在预测模型使用阶段,终端获取当前所处的地理位置数据(即状态数据),并将该地理位置数据输入预测模型中,从而获取预测模型输出的目标应用程序。
需要说明的是,本实施例中的预测模型还可以根据上述三种样本状态数据中的任意两种或三种训练得到,本实施例并不对用于训练预测模型的样本状态数据进行限定。
在一种可能的实现方式中,上述预测模型为逻辑回归模型,参考图4,若状态数据包括表示当前时间所属的时间段的数据x1、表示前台运行的应用程序的数据x2和标识当前所处的地理位置x3,则将x1、x2和x3输入逻辑回归模型,经过逻辑回归模型处理后,得到目标应用程序。
可选的,每个逻辑回归模型输出的目标应用程序的数量为1个,预测模型可以包括多个逻辑回归模型,从而得到多个目标应用程序。
在其他可能的实施方式中,该预测模型还可以为贝叶斯模型、深度神经网络(DeepNeural Network,DNN)模型、循环神经网络(Recurrent Neural Networks,RNN)模型、嵌入(embedding)模型、梯度提升决策树(Gradient Boosting DecisionTree,GBDT)模型等,本实施例在此不再一一列举。
步骤303,加载目标应用程序对应的应用资源,得到应用窗口对应的窗口显示数据。
终端确定预加载的目标应用程序后,加载目标应用程序对应的应用资源,以获取应用资源中用于渲染应用窗口的窗口显示数据,其中,窗口显示数据中至少包括应用窗口中显示的各个控件的位置参数和应用窗口中图标的图标素材数据。
步骤304,将窗口显示数据存储到第二内存缓存区。
为了区分实体屏幕和虚拟屏幕的窗口显示内容,本实施例中,实体屏幕内显示内容存储在第一内存缓存区中,而虚拟屏幕内显示内容则被存储在不同于第一内存缓存区的第二内存缓存区。相应的,在实体屏幕中显示运行的应用程序时,终端从第一内存缓存区中获取该应用程序对应的窗口显示数据;在虚拟屏幕中显示运行的应用程序时,终端从第二内存缓存区中获取该应用程序对应的窗口显示数据。
在一种可能的实现方式中,获取应用窗口对应的窗口显示数据后,终端在内存缓存区中划分第二内存缓存区,进而将预加载的目标应用程序对应的窗口显示数据存储在第二内存缓存区中。
可选的,在划分第二内存缓存区时,终端检测当前内存的剩余大小,当剩余内存大于阈值时,执行将窗口显示数据存储到第二内存缓存区的步骤;当剩余内存小于阈值时,终端即判断当前无法加载目标应用程序,并停止加载目标应用程序。
步骤305,根据窗口显示数据在虚拟屏幕内渲染显示应用窗口。
在一种可能的实现方式中,终端获取虚拟屏幕的尺寸,进而根据虚拟屏幕确定应用窗口显示的尺寸,并启用内置的帧缓冲区,利用帧缓冲器渲染应用窗口,进而在渲染结束后,显示最终渲染图。
示意性的,如图5所示,位于前台运行的应用程序为相册应用,实体屏幕511内显示相册应用对应的应用窗口,且终端根据预测模型确定目标应用程序为相机应用程序,进而在虚拟屏幕512内渲染相机应用程序对应的应用窗口。
步骤306,若在预定时长内未接收到目标应用程序的运行指令,或,终端的内存余量低于阈值,则移除虚拟屏幕。
由于预加载的目标应用程序仍会占用终端内存,为了避免目标应用程序未被用户主动打开,导致内存占用时间过长,在一种可能的实现方式中,若在预定时长内未接收到目标应用程序的运行指令,终端移除虚拟屏幕,以减轻内存压力;其中,预定时长可以为10min。
在另一种可能的实现方式中,终端实时监测内存大小,当检测到内存余量低于阈值时,将虚拟屏幕移除,避免了预加载的目标应用程序占用太大内存影响终端的正常运行。
其中,移除虚拟屏幕的过程即为释放第二内存缓存区空间的过程。
步骤307,当接收到目标应用程序的运行指令时,将目标应用程序对应的应用窗口迁移至实体屏幕。
本步骤的实施方式与上述步骤104相似,本实施例在此不再赘述。
示意性的,如图5所示,当接收到对相机应用程序的运行指令时,终端将相机应用程序的应用窗口迁移至实体屏幕511,进而实体屏幕511中显示相机应用程序。
步骤308,将窗口显示数据从第二内存缓存区迁移到第一内存缓存区。
第一内存缓存区对应实体屏幕,且目标应用程序对应的窗口显示数据存储于第二内存缓存区,当再次打开目标应用程序时,由于终端不能根据第二内存缓存区中的窗口显示数据在实体屏幕中显示应用窗口,因此需要将存储于第二内存缓存区的窗口显示数据相应迁移到第一内存缓存区,以便于终端切换应用后,再次运行位于后台的目标应用程序时可以正常打开目标应用程序。
可选的,将窗口显示数据从第二内存缓存区迁移到第一内存缓存区后,终端移除虚拟屏幕,取消第二内存缓存区的划分。
在一种可能的实现方式中,在接收到目标应用程序的运行指令后,终端将窗口显示数据从第二内存缓存区迁移到第一内存缓存区,在另一种可能的实现方式中,终端可以在完成迁移后进行窗口显示数据迁移,本实施例并不对本步骤的执行时序进行限定。
本实施例中,终端根据样本状态数据和样本应用数据训练预测模型,进而基于预测模型和获取到的状态数据确定目标应用程序,由于预测模型的建立基于用户的历史操作,因此获取到的目标应用程序更加符合用户的实际使用习惯。
本实施例中,终端在未接收到对目标应用程序的运行指令或终端内存余量较低时,自动移除虚拟屏幕,减轻了终端运行时的内存压力,避免了应用程序的预加载影响终端的正常使用。
参考图6,其示出了本申请一个示例性实施例提供的应用程序加载装置的结构框图。该应用程序加载装置可以通过软件、硬件以及两者的组合实现成为终端的全部或一部分。该应用程序加载装置包括:数据获取模块610、确定模块620、加载显示模块630、迁移模块640:
数据获取模块610,用于获取状态数据,状态数据用于表示终端的运行状态;
确定模块620,用于根据状态数据确定预加载的目标应用程序;
加载显示模块630,用于加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,虚拟屏幕对应的显示区域位于实体屏幕对应的显示区域之外;
迁移模块640,用于当接收到目标应用程序的运行指令时,将目标应用程序对应的应用窗口迁移至实体屏幕。
可选的,实体屏幕内的显示内容存储在第一内存缓存区;
加载显示模块630,包括:
加载单元,用于加载目标应用程序对应的应用资源,得到应用窗口对应的窗口显示数据;
存储单元,用于将窗口显示数据存储到第二内存缓存区;
渲染单元,用于根据窗口显示数据在虚拟屏幕内渲染显示应用窗口;
该装置,还包括:
数据迁移模块,用于将窗口显示数据从第二内存缓存区迁移到第一内存缓存区。
可选的,该装置还包括:
移除模块,用于若在预定时长内未接收到目标应用程序的运行指令,或,终端的内存余量低于阈值,则移除虚拟屏幕。
可选的,确定模块620,还用于:
将状态数据输入预测模型,得到目标应用程序,预测模型根据样本状态数据和样本应用数据训练得到。
可选的,状态数据包括:
用于表示当前时间所处的时间段的数据;和/或,
用于表示前台运行的应用程序的数据;和/或,
用于表示当前所处地理位置的数据。
可选的,该装置,还包括:
第一训练模块,用于获取不同时间段内,终端运行的应用程序的应用标识;将时间段作为样本状态数据,将应用标识作为样本应用数据,训练预测模型;
和/或,
第二训练模块,用于获取应用跳转记录,应用跳转记录用于表示由第一应用程序跳转至第二应用程序;将第一应用程序的应用标识作为样本状态数据,将第二应用程序的应用标识作为样本应用数据,训练预测模型;
和/或,
第三训练模块,用于获取应用开启记录,应用开启记录中包含地理位置数据和开启的应用程序的应用标识;将所述地理位置数据作为所述样本状态数据,将所述应用标识作为所述样本应用数据,训练所述预测模型。
综上所述,本申请实施例中,终端根据状态数据确定预加载的目标应用程序,进而提前加载目标应用程序,并在虚拟屏幕中显示目标应用程序对应的应用窗口,当需要运行目标应用程序时,终端即可直接将虚拟屏幕中显示的应用窗口迁移至实体屏幕中进行显示。通过上述预加载机制预先加载目标应用程序后,当需要运行目标应用程序时,只需要将虚拟屏幕中的应用窗口迁移到实体屏幕中,无需重新加载目标应用程序的应用资源,从而提高了应用界面的显示效率,解决了应用界面显示延迟的问题;同时,由于虚拟屏幕在实体屏幕的显示区域之外,因此,虚拟屏幕中的显示内容不会对实体屏幕内的显示内容造成影响,保证前台应用的正常运行
本实施例中,终端根据样本状态数据和样本应用数据训练预测模型,进而基于预测模型和获取到的状态数据确定目标应用程序,由于预测模型的建立基于用户的历史操作,因此获取到的目标应用程序更加符合用户的实际使用习惯。
本实施例中,终端在未接收到对目标应用程序的运行指令或终端内存余量较低时,自动移除虚拟屏幕,减轻了终端运行时的内存压力,避免了应用程序的预加载影响终端的正常使用。
需要说明的是:上述实施例提供的应用程序加载装置在进行应用程序加载时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序加载装置与应用程序加载方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参考图7,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器710、存储器720和显示屏730。
处理器710可以包括一个或者多个处理核心。处理器710利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行终端的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块芯片进行实现。
可选地,处理器710执行存储器720中的程序指令时实现下上述各个方法实施例提供的应用程序加载方法。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器720包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的应用程序加载方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的应用程序加载方法。
上述实施例的顺序仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。