CN115167931A - 应用程序启动方法、装置、存储介质以及终端 - Google Patents
应用程序启动方法、装置、存储介质以及终端 Download PDFInfo
- Publication number
- CN115167931A CN115167931A CN202210874584.XA CN202210874584A CN115167931A CN 115167931 A CN115167931 A CN 115167931A CN 202210874584 A CN202210874584 A CN 202210874584A CN 115167931 A CN115167931 A CN 115167931A
- Authority
- CN
- China
- Prior art keywords
- application program
- preloading
- starting
- target application
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序启动方法、装置、存储介质以及终端,涉及应用程序技术开发技术领域。若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序,然后获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。当目标应用程序已经提前基于预加载策略被预加载,那么可以直接基于预加载数据启动目标应用程序,以减少目标应用程序启动过程的加载时间,并且还可以获取目标应用程序本次启动过程对应的预加载收益值以及展示预加载收益值,以使得用户可以知晓目标应用程序是在预加载之后启动的,并且通过展示的预加载收益值可以增强用户对预加载策略的感知。
Description
技术领域
本申请涉及应用程序技术开发技术领域,尤其涉及一种应用程序启动方法、装置、存储介质以及终端。
背景技术
随着科学技术的发展,终端也越来越多地出现在人们生活中,人们可以运行终端中的各种应用程序去实现各种功能,因此关于终端中应用程序的启动方法也成为本领域技术人员研究的重点之一。
发明内容
本申请提供一种应用程序启动方法、装置、存储介质以及终端,可以解决相关技术中应用程序启动中的技术问题。
第一方面,本申请提供一种应用程序启动方法,所述方法包括:
响应针对目标应用程序的启动指令,若所述目标应用程序已经基于预加载策略被预加载,则基于所述目标应用程序的预加载数据启动所述目标应用程序;
获取所述目标应用程序在本次启动过程中对应的预加载收益值以及展示所述预加载收益值。
可选地,所述预加载收益值为第二启动时间与第一启动时间的差值;其中,所述第一启动时间为所述目标应用程序被预加载后所述目标应用程序的启动时间,所述第二启动时间为所述目标应用程序未被预加载后所述目标应用程序的启动时间。
可选地,所述获取所述目标应用程序在本次启动过程中对应的预加载收益值,包括:获取所述目标应用程序在本次启动过程中对应的目标第一启动时间,以及获取所述目标应用程序在历史启动过程中对应的目标第二启动时间;将所述目标第一启动时间与所述目标第二启动时间之间的差值,作为所述目标应用程序在本次启动过程中对应的预加载收益值。
可选地,所述获取所述目标应用程序在本次启动过程中对应的目标第一启动时间,包括:获取接收到所述启动指令的第一时刻,以及获取所述目标应用程序在本次启动过程中指定服务运行时或者指定纹理加载时的第二时刻;将所述第二时刻与所述第一时刻之间的差值,作为所述目标应用程序在本次启动过程中对应的目标第一启动时间。
可选地,所述获取所述目标应用程序在本次启动过程中对应的预加载收益值,包括:获取所述目标应用程序对应的目标预加载收益值区间,所述目标预加载收益值区间基于样本预加载收益值确定;从所述目标预加载收益值区间中确定目标预加载收益值,作为所述目标应用程序在本次启动过程中对应的预加载收益值。
可选地,所述响应针对目标应用程序的启动指令之前,所述方法还包括:对属于第一应用类型的至少一个第一应用程序进行启动测试,获取各第一应用程序启动测试过程中对应的样本第一启动时间,以及获取各第一应用程序启动测试过程中对应的样本第二启动时间;基于各样本第一启动时间以及各样本第二启动时间得到各第一应用程序的第一样本预加载收益值,以及基于各第一应用程序的各第一样本预加载收益值分别确定各第一应用程序对应的第一预加载收益值区间;对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,基于各第二样本预加载收益值确定各第二应用程序统一对应的第二预加载收益值区间。
可选地,所述方法还包括:展示所述目标应用程序的预加载总收益值、所述预加载策略的预加载总收益值中的至少一种。
第二方面,本申请提供一种应用程序启动装置,所述装置包括:
启动模块,用于响应针对目标应用程序的启动指令,若所述目标应用程序已经基于预加载策略被预加载,则基于所述目标应用程序的预加载数据启动所述目标应用程序;
收益展示模块,用于获取所述目标应用程序在本次启动过程中对应的预加载收益值以及展示所述预加载收益值。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法的步骤。
第四方面,本申请实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请提供一种应用程序启动方法,首先可以响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序,然后获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。当用户基于启动指令需要启动目标应用程序时,若目标应用程序已经提前基于预加载策略被预加载,那么可以直接基于预加载数据启动目标应用程序,以减少目标应用程序启动过程的加载时间,并且还可以获取目标应用程序本次启动过程对应的预加载收益值以及展示预加载收益值,以使得用户可以知晓目标应用程序是在预加载之后启动的,并且通过展示的预加载收益值可以增强用户对预加载策略的感知。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用程序启动方法的示例性系统架构图;
图2为本申请实施例提供的一种应用程序启动方法的流程示意图;
图3为本申请实施例提供的一种预加载收益值的展示方式示意图;
图4为本申请另一实施例提供的一种应用程序启动方法的流程示意图;
图5为本申请另一实施例提供的一种应用程序启动方法的流程示意图;
图6为本申请另一实施例提供的一种应用程序启动装置的结构示意图;
图7为本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
目前,随着移动终端技术的快速发展,诸如智能手机、平板电脑以及智能电视等智能设备已成为人们生活中必不可少的电子设备。移动终端上安装有各种各样的应用程序(APP,Application Software),一般默认在用户基于启动指令打开一个应用程序时才开始加载这个应用程序,而应用程序占用的存储空间越来越大,加载时间也越来越长,导致应用程序启动过程浪费了用户大量时间。
因此为了使应用程序运行的更加流畅,有些移动终端会针对终端中的应用程序设置预加载策略,以使得终端在接收到用户针对目标应用程序的启动指令之前,可以提前将目标应用程序的加载资源准备好,即检测到预加载策略对应的预加载事件被触发时,对目标应用程序提前进行预加载,那么终端在接收到用户针对目标应用程序的启动指令之后,可以直接基于目标应用程序已经加载好的资源启动目标应用程序,进而有效减少目标应用程序的启动时间。
可选地,预加载策略可以是预测类型的策略,也即预加载策略可以预测出将用户将要启动的目标应用程序,以提前对目标应用程序进行预加载,例如,某一预加载策略为根据用户对终端中各应用程序的历史使用信息,其中历史使用信息包括但不限于使用时间、使用地点等信息,预测出用户可能将会在某一目标时间或者某一目标地点启动某一目标应用程序,那么当时间到达该目标时间或者用户处于该目标地点时,终端会对目标应用程序进行预加载。
可选地,预加载策略还可以是预加载事件触发类型的策略,也即提前设置预加载事件以及预加载事件对应的目标应用程序,当预加载事件被触发时,以提前对预加载事件对应的目标应用程序进行预加载。本申请实施例中对预加载策略的具体类型或者具体策略可以不做限定。
当目标应用程序基于预加载策略被预先加载时,目标应用程序是在终端的后台中预先加载资源,因此目标应用程序预加载的过程是对用户不可见的,那么终端在接收到用户针对目标应用程序的启动指令之后,在终端的内部虽然可以直接基于目标应用程序已经加载好的资源启动目标应用程序,进而有效减少目标应用程序的启动时间,但是对于用户来说用户并不知道本次应用程序启动过程是基于预加载策略进行启动的,也不知道本次应用程序启动过程中减少了启动时间,甚至用户根本不知道终端中存在预加载策略,这极大减少了用户对于预加载策略的感知。
图1为本申请实施例提供的一种应用程序启动方法的示例性系统架构图。
如图1所示,系统架构可以包括终端101、网络102和服务器103。网络102用于在终端101和服务器103之间提供通信链路的介质。网络102可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
终端101可以通过网络102与服务器103交互,以接收来自服务器103的消息或向服务器103发送消息。终端101可以是硬件,也可以是软件。当终端101为硬件时,可以是各种电子设备,包括但不限于智能手表、智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当终端101为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
终端101可以响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则终端101基于目标应用程序的预加载数据启动目标应用程序,另外终端101还可以获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。
服务器103可以是提供各种服务的业务服务器。需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
应理解,图1中的终端、网络以及服务器的数目仅是示意性的,根据实现需要,可以是任意数量的终端、网络以及服务器。
请参阅图2,图2为本申请实施例提供的一种应用程序启动方法的流程示意图。可以理解的,在本申请实施例中,执行主体可以终端或者终端中的处理器,还可以是终端中执行应用程序启动的相关服务,为方便描述下面以执行主体为终端中的处理器为例进行介绍。
如图2所示,应用程序启动方法包括:
S201、响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序。
在本申请实施例中,终端中可以安装有各种类型的应用程序,那么当用户需要启动某一个目标应用程序时,可以向终端发出针对该目标应用程序的启动指令,其中用户发出启动指令的方式可以不做限定,例如,用户可以触摸终端中显示屏桌面中显示的目标应用程序的图标,以向终端发出针对该目标应用程序的启动指令,或者可以是用户向终端说出启动目标应用程序的语音,以向终端发出针对该目标应用程序的启动指令,因此在本申请实施例中,启动指令可以是用户或者其他外部设备发出的外部指令。
进一步地,在本申请实施例中,终端中预先设置有至少一个预加载策略,由于预加载策略可能在任意时刻对预加载策略命中的应用程序进行预加载,具体地,当预加载策略命中命中某一应用程序之后,终端会对该应用程序中的部分资源进行预先加载,并保存部分资源进行预先加载之后对应的预加载数据。
那么当用户在预加载策略的设置界面中开启预加载策略并且终端接收到针对目标应用程序的启动指令之后,处理器可以响应针对目标应用程序的启动指令,首先判断目标应用程序是否已经基于预加载策略被预加载,其判断的过程可以是,处理器从系统记录的关于目标应用程序的运行日志中,判断目标应用程序知否命中预加载策略,若命中,则代表目标应用程序已经基于预加载策略被预加载,然后处理器获取目标应用程序预加载过程中对应的预加载数据,并基于目标应用程序的预加载数据启动目标应用程序。由于目标应用程序的预加载数据是对目标应用程序中的部分资源进行预先加载之后得到的数据,相当于目标应用程序在启动之前,目标应用程序中的部分资源已经被加载,因此基于目标应用程序的预加载数据启动目标应用程序的过程中,可以不用再次对目标应用程序中的部分资源进行加载,则大大减少了目标应用程序的启动时间。
S202、获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。
基于目标应用程序的预加载数据启动目标应用程序之后,还可以获取目标应用程序在本次启动过程中对应的预加载收益值,其中预加载收益值可以有多种表现形式,由于对目标应用程序进行预加载之后再启动,给用户最直观的感受是应用程序的启动时间会减少,因此在本申请实施例中可以将目标应用程序在进行预加载之后,再进行启动时减少的时间作为预加载收益值,也即预加载收益值为目标应用程序未被预加载后目标应用程序的启动时间,与目标应用程序被预加载后目标应用程序的启动时间之间的差值。
在本申请实施例中,可以设置第一启动时间为目标应用程序被预加载后目标应用程序的启动时间,第二启动时间为目标应用程序未被预加载后目标应用程序的启动时间,那么第二启动时间与第一启动时间的差值即为目标应用程序在进行预加载之后再进行启动时对应的预加载收益值。
进一步地,在获取目标应用程序在本次启动过程中对应的预加载收益值之后,还可以展示目标应用程序在本次启动过程中对应的预加载收益值,其中,展示预加载收益值的方式可以不做限定,例如,可以在终端的显示屏的显示界面中显示预加载收益值对应的字符信息,还可以控制终端中的声音播放装置播放预加载收益值对应的字符信息。
请参阅图3,图3为本申请实施例提供的一种预加载收益值的展示方式示意图。
如图3所示,在终端300中,处理器可以响应针对目标应用程序310的启动指令,若目标应用程序310已经基于预加载策略被预加载,则基于目标应用程序310的预加载数据启动目标应用程序310,处理器在获取到目标应用程序310在进行预加载之后再进行启动时对应的预加载收益值之后,可以在目标应用程序启动完成后对应的显示界面中显示预加载收益值对应的字符信息320,在图3中预加载收益值对应的字符信息320也即“本次启动命中预加载策略,减少启动时间3秒”。
进一步地,在得到目标应用程序在本次启动过程中对应的预加载收益值之后,还可以将目标应用程序在本次启动过程中对应的预加载收益值与目标应用程序在历史启动过程中对应的预加载收益值进行累加,以得到目标应用程序在启动过程中对应的预加载总收益值。
进一步地,在得到目标应用程序在启动过程中对应的预加载总收益值之后,还可以将目标应用程序在启动过程中对应的预加载总收益值与其他应用程序在启动过程中对应的预加载总收益值进行累加,以得到预加载策略的预加载总收益值。
可选地,可以根据需要展示目标应用程序的预加载总收益值、预加载策略的预加载总收益值中的至少一种,其中,目标应用程序的预加载总收益值、预加载策略的预加载总收益值展示的方式可以不同,例如,当目标应用程序启动之后,用户往往更加关注关于目标应用程序的预加载的数据,因此目标应用程序的预加载总收益值可以在目标应用程序启动之后进行展示;在例如,当用户在预加载策略的设置界面中选择是否开启预加载策略时,用户往往更加关注关于预加载策略的数据,因此用户预加载策略的预加载总收益值可以在预加载策略的设置界面中进行展示。
在本申请实施例中,首先可以响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序,然后获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。当用户基于启动指令需要启动目标应用程序时,若目标应用程序已经提前基于预加载策略被预加载,那么可以直接基于预加载数据启动目标应用程序,以减少目标应用程序启动过程的加载时间,并且还可以获取目标应用程序本次启动过程对应的预加载收益值以及展示预加载收益值,以使得用户可以知晓目标应用程序是在预加载之后启动的,并且通过展示的预加载收益值可以增强用户对预加载策略的感知。
请参阅图4,图4为本申请另一实施例提供的一种应用程序启动方法的流程示意图。
如图4所示,应用程序启动方法包括:
S401、响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序。
关于步骤S401可以参阅步骤S201中的记载,此处不在赘述。
S402、获取目标应用程序在本次启动过程中对应的目标第一启动时间,以及获取目标应用程序在历史启动过程中对应的目标第二启动时间。
由于在本申请实施例中,预加载收益值为第二启动时间与第一启动时间的差值,其中,第一启动时间为目标应用程序被预加载后目标应用程序的启动时间,因此若目标应用程序已经基于预加载策略被预加载,那么可以对目标应用程序的启动过程进行监测,以获取目标应用程序在本次启动过程中对应的目标第一启动时间。
其中,获取目标应用程序在本次启动过程中对应的目标第一启动时间的方法可以是,首先处理器获取终端接收到启动指令的第一时刻,例如,当用户可以触摸终端中显示屏桌面中显示的目标应用程序的图标,以向终端发出针对该目标应用程序的启动指令,那么用户可以触摸终端中显示屏桌面中显示的目标应用程序的图标的时刻为第一时刻;然后处理器还会获取目标应用程序在本次启动过程中指定服务运行时或者指定纹理加载时的第二时刻,其中指定服务可以为应用程序启动完成后会加载的服务,指定服务可以是指定的系统组件、指定的事件或者指定的状态等;指定纹理可以为应用程序启动完成之后加载的纹理,指定纹理可以是终端中显示的指定的图片、指定的动画或者指定的用户界面等。
例如,对于安装有安卓系统的终端来说,对于非游戏类型的应用程序,当这类应用程序启动完成之后,会立刻运行特定的activity组件,因此如果需要获取这类应用程序的启动过程中第二时刻,可以对这类应用程序的启动过程中的组件进行监测,当监测到特定的activity组件运行时,可以将特定的activity组件运行时对应的时刻作为第二时刻;对于游戏类型的应用程序,当这类应用程序启动完成之后,一般会加载与游戏相关的图片、动画(动画可以理解为由多帧连续的图片组成)或者用户登录界面,因此如果需要获取这类应用程序的启动过程中第二时刻,可以对这类应用程序的启动过程中的纹理变化进行监测,当监测到指定的图片、指定的动画或者指定的用户界面加载时,可以将指定的图片、指定的动画或者指定的用户界面运行时对应的时刻作为第二时刻。
在获取到应用程序启动开始的第一时刻以及应用程序启动完成的第二时刻之后,将第二时刻与第一时刻之间做差,可以得到第二时刻与第一时刻之间的差值,那么该差值也就是应用程序启动完成与应用程序启动开始之间的时间差,也即目标应用程序在本次启动过程中对应的目标第一启动时间。由于目标第一启动时间是基于本次目标应用程序的启动过程实时计算得到,因此可以提高了目标第一启动时间的准确性。
由于预加载收益值为第二启动时间与第一启动时间的差值,其中,第二启动时间为目标应用程序未被预加载后目标应用程序的启动时间,而本次目标应用程序的启动过程是基于目标应用程序的预加载数据启动的,也即本次启动过程中目标应用程序是已经被预加载后再进行启动的,因此不能从本次目标应用程序的启动过程直接获取目标应用程序的目标第二启动时间。
一种可行的实施方式是,在终端中设置一个预设的监测线程或者监测服务,该监测线程或者监测服务用于监测终端中各应用程序的启动过程,进而得到终端中各应用程序未被预加载后应用程序的启动时间。例如,当监测线程或者监测服务监测到应用程序的启动指令之后,可以响应该启动指令,若应用程序没有基于预加载策略被预加载,则按照正常流程直接启动应用程序,并获取应用程序未被预加载后应用程序的启动时间,其中,获取应用程序未被预加载后应用程序的启动时间与上述获取目标应用程序在启动过程中对应的目标第一启动时间的方法类似,也即获取应用程序未被预加载后应用程序启动过程的第一时刻以及第二时刻,将第一时刻和第二时刻之间的差值作为应用程序未被预加载后应用程序的启动时间。如果应用程序未被预加载后应用程序的启动时间仅有一个,那么可以将仅有的一个启动时间作为该应用程序历史启动过程中对应的目标第二启动时间,如果应用程序未被预加载后应用程序的启动时间存在多个,那么可以计算多个启动时间的平均值作为该应用程序历史启动过程中对应的第二启动时间,进而可以获取终端中各应用程序历史启动过程中对应的第二启动时间,并保存终端中各应用程序历史启动过程中对应的第二启动时间。
因此获取目标应用程序在本次启动过程中对应的目标第一启动时间之后,可以从保存的各应用程序历史启动过程中对应的目标第二启动时间中,获取目标应用程序在历史启动过程中对应的目标第二启动时间。
S403、将目标第一启动时间与目标第二启动时间之间的差值,作为目标应用程序在本次启动过程中对应的预加载收益值。
由于目标第一启动时间代表了目标应用程序在本次启动过程中被预加载后的启动时间,目标第二启动时间代表了目标应用程序在历史启动过程中未被预加载后的启动时间,因此目标第一启动时间与目标第二启动时间之间的差值即为目标应用程序在进行预加载之后再进行启动时减少的启动时间,也即目标应用程序在进行预加载之后再进行启动时对应的预加载收益值。
S404、展示预加载收益值。
在获取目标应用程序在本次启动过程中对应的预加载收益值之后,还可以展示目标应用程序在本次启动过程中对应的预加载收益值。
在本申请实施例中,目标第一启动时间是基于本次目标应用程序的启动过程实时计算得到,因此可以提高了目标第一启动时间的准确性,并且目标第二启动时间是基于目标应用程序历史启动过程得到的,那么通过目标第一启动时间与目标第二启动时间计算目标应用程序在本次启动过程中对应的预加载收益值,可以提高计算预加载收益值的准确性。
请参阅图5,图5为本申请另一实施例提供的一种应用程序启动方法的流程示意图。
如图5所示,应用程序启动方法包括:
S501、对属于第一应用类型的至少一个第一应用程序进行启动测试,获取各第一应用程序启动测试过程中对应的样本第一启动时间,以及获取各第一应用程序启动测试过程中对应的样本第二启动时间。
在本申请实施例中,对于获取目标应用程序在本次启动过程中对应的预加载收益值的方法,还可以预先设置不同类型应用程序对应的预加载收益值区间,进而从目标应用程序对应的目标预加载收益值区间中,确定目标应用程序在本次启动过程中对应的预加载收益值。
具体地,首先需要得到终端中不同类型应用程序对应的预加载收益值区间,一种可行的实施方式是,对终端中安装的应用程序进行分类得到第一应用类型的应用程序以及第二应用类型的应用程序,其中,第一应用类型的应用程序可以是用户着重关注预加载收益的应用程序,那么第二应用类型的应用程序可以是用户不着重关注预加载收益的应用程序,因此需要第一应用类型的应用程序的预加载收益值区间的精准度大于第二应用类型的应用程序的预加载收益值区间的精准度。
其中,可以通过用户对应用程序的标记、用户对应用程序的使用次数或者应用商店中应用程序的下载次数,来判断用户是否会着重关注应用程序的预加载收益。例如,分类的标准可以是按照用户对应用程序的使用次数确定常用应用程序以及非常用应用程序,其中常用应用程序也即第一应用类型,非常用应用程序也即第二应用程类型;分类的标准还可以是按照应用商店中应用程序的下载次数确定主流应用程序以及非主流应用程序,其中主流应用程序也即第一应用类型,非主流应用程序也即第二应用程类型。
将终端中的各应用程序分类之后,那么对于终端中属于第一应用类型的至少一个第一应用程序,是需要获取各第一应用程序较为准确的预加载收益值区间的,那么一种可行的实施方式是,对属于第一应用类型的至少一个第一应用程序进行启动测试,其中,启动测试包括对各第一应用程序进行被预加载后的启动测试,以获取各第一应用程序被预加载后的启动测试过程中对应的样本第一启动时间;启动测试还包括对各第一应用程序进行未被预加载后的启动测试,以获取各第一应用程序未被预加载后的启动测试过程中对应的样本第二启动时间。
S502、基于各样本第一启动时间以及各样本第二启动时间得到各第一应用程序的第一样本预加载收益值,以及基于各第一应用程序的各第一样本预加载收益值分别确定各第一应用程序对应的第一预加载收益值区间。
进一步地,基于各应用程序的各样本第一启动时间以及各样本第二启动时间,可以将各样本第一启动时间以及各样本第二启动时间做差得到各第一应用程序的各第一样本预加载收益值,进而可以基于各第一应用程序的各第一样本预加载收益值,分别确定各第一样本预加载收益值中的最大值以及最小值,基于各第一样本预加载收益值中的最大值以及最小值,可以确定各第一应用程序对应的第一预加载收益值区间。
例如,属于第一应用类型的某一个第一应用程序的第一样本预加载收益值分别为3秒、4秒以及5秒,那么可以确定该第一应用程序的第一样本预加载收益值中的最大值以及最小值分别为5秒以及3秒,进而可以确定该第一应用程序的第一预加载收益值区间为[3,5]。
S503、对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,基于各第二样本预加载收益值确定各第二应用程序统一对应的第二预加载收益值区间。
对于终端中属于第二应用类型的至少一个第二应用程序,是不需要获取各第二应用程序较为准确的预加载收益值区间的,那么一种可行的实施方式是,可以直接对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,第二样本预加载收益值可以是统计值或者管理员设置的数值,进而可以分别确定各第二样本预加载收益值中的最大值以及最小值,基于各第二样本预加载收益值中的最大值以及最小值,可以确定各第二应用程序统一对应的第二预加载收益值区间。
S504、响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序。
关于步骤S504,可以参阅步骤S201中的记载,此处不在赘述。
S505、获取目标应用程序对应的目标预加载收益值区间,目标预加载收益值区间基于样本预加载收益值确定。
在基于样本预加载收益值确定确定了终端中各应用程序的预加载收益值区间之后,因此可以基于各应用程序的预加载收益值区间,确定目标应用程序对应的目标预加载收益值区间。
S506、从目标预加载收益值区间中确定目标预加载收益值,作为目标应用程序在本次启动过程中对应的预加载收益值。
确定目标应用程序对应的目标预加载收益值区间之后,可以随机或者按照预设规则从目标预加载收益值区间中确定一个预加载收益值作为目标预加载收益值,以使得每次从目标预加载收益值区间中确定目标预加载收益值尽可能的不相同。
S507、展示预加载收益值。
由于每次从目标预加载收益值区间中确定目标预加载收益值大部分是不相同的,因此在展示目标应用程序在本次启动过程中对应的预加载收益值的过程中,可以提高用户对展示的预加载收益值的信任度。
在本申请实施例中,通过预先对终端中的应用程序进行启动测试,以得到终端中各应用程序对应的预加载收益值区间,那么可以直接基于预加载收益值区间确定目标应用程序在本次启动过程中对应的预加载收益值,可以减少直接计算目标应用程序在本次启动过程中对应的预加载收益值带来的系统开销以及系统负载,提高了确定目标应用程序在本次启动过程中对应的预加载收益值的速度。
请参阅图6,图6为本申请另一实施例提供的一种应用程序启动装置的结构示意图。
如图6所示,应用程序启动装置600包括:
启动模块610,用于响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序。
收益展示模块620,用于获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。
可选地,预加载收益值为第二启动时间与第一启动时间的差值;其中,第一启动时间为目标应用程序被预加载后目标应用程序的启动时间,第二启动时间为目标应用程序未被预加载后目标应用程序的启动时间。
可选地,收益展示模块620,还用于获取目标应用程序在本次启动过程中对应的目标第一启动时间,以及获取目标应用程序在历史启动过程中对应的目标第二启动时间;将目标第一启动时间与目标第二启动时间之间的差值,作为目标应用程序在本次启动过程中对应的预加载收益值。
可选地,收益展示模块620,还用于获取接收到启动指令的第一时刻,以及获取目标应用程序在本次启动过程中指定服务运行时或者指定纹理加载时的第二时刻;将第二时刻与第一时刻之间的差值,作为目标应用程序在本次启动过程中对应的目标第一启动时间。
可选地,收益展示模块620,还用于获取目标应用程序对应的目标预加载收益值区间,目标预加载收益值区间基于样本预加载收益值确定;从目标预加载收益值区间中确定目标预加载收益值,作为目标应用程序在本次启动过程中对应的预加载收益值。
可选地,收益展示模块620,还用于对属于第一应用类型的至少一个第一应用程序进行启动测试,获取各第一应用程序启动测试过程中对应的样本第一启动时间,以及获取各第一应用程序启动测试过程中对应的样本第二启动时间;基于各样本第一启动时间以及各样本第二启动时间得到各第一应用程序的第一样本预加载收益值,以及基于各第一应用程序的各第一样本预加载收益值分别确定各第一应用程序对应的第一预加载收益值区间;对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,基于各第二样本预加载收益值确定各第二应用程序统一对应的第二预加载收益值区间。
可选地,收益展示模块620,还用于展示目标应用程序的预加载总收益值、预加载策略的预加载总收益值中的至少一种。
在本申请实施例中,一种应用程序启动装置包括:启动模块,用于响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序;收益展示模块,用于获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。当用户基于启动指令需要启动目标应用程序时,若目标应用程序已经提前基于预加载策略被预加载,那么可以直接基于预加载数据启动目标应用程序,以减少目标应用程序启动过程的加载时间,并且还可以获取目标应用程序本次启动过程对应的预加载收益值以及展示预加载收益值,以使得用户可以知晓目标应用程序是在预加载之后启动的,并且通过展示的预加载收益值可以增强用户对预加载策略的感知。
本申请实施例还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
进一步地,请参见图7,图7为本申请实施例提供的一种终端的结构示意图。如图7所示,终端700可以包括:至少一个中央处理器701,至少一个网络接口704,用户接口703,存储器705,至少一个通信总线702。
其中,通信总线702用于实现这些组件之间的连接通信。
其中,用户接口703可以包括显示屏(Display)、摄像头(Camera),可选用户接口703还可以包括标准的有线接口、无线接口。
其中,网络接口704可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,中央处理器701可以包括一个或者多个处理核心。中央处理器701利用各种接口和线路连接整个终端700内的各个部分,通过运行或执行存储在存储器705内的指令、程序、代码集或指令集,以及调用存储在存储器705内的数据,执行终端700的各种功能和处理数据。可选的,中央处理器701可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器701可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器701中,单独通过一块芯片进行实现。
其中,存储器705可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器705包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器705可用于存储指令、程序、代码、代码集或指令集。存储器705可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器705可选的还可以是至少一个位于远离前述中央处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及应用程序启动程序。
在图7所示的终端700中,用户接口703主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器701可以用于调用存储器705中存储的应用程序启动程序,并具体执行以下操作:
响应针对目标应用程序的启动指令,若目标应用程序已经基于预加载策略被预加载,则基于目标应用程序的预加载数据启动目标应用程序;获取目标应用程序在本次启动过程中对应的预加载收益值以及展示预加载收益值。
可选地,预加载收益值为第二启动时间与第一启动时间的差值;其中,第一启动时间为目标应用程序被预加载后目标应用程序的启动时间,第二启动时间为目标应用程序未被预加载后目标应用程序的启动时间。
可选地,获取目标应用程序在本次启动过程中对应的预加载收益值,包括:获取目标应用程序在本次启动过程中对应的目标第一启动时间,以及获取目标应用程序在历史启动过程中对应的目标第二启动时间;将目标第一启动时间与目标第二启动时间之间的差值,作为目标应用程序在本次启动过程中对应的预加载收益值。
可选地,获取目标应用程序在本次启动过程中对应的目标第一启动时间,包括:获取接收到启动指令的第一时刻,以及获取目标应用程序在本次启动过程中指定服务运行时或者指定纹理加载时的第二时刻;将第二时刻与第一时刻之间的差值,作为目标应用程序在本次启动过程中对应的目标第一启动时间。
可选地,获取目标应用程序在本次启动过程中对应的预加载收益值,包括:获取目标应用程序对应的目标预加载收益值区间,目标预加载收益值区间基于样本预加载收益值确定;从目标预加载收益值区间中确定目标预加载收益值,作为目标应用程序在本次启动过程中对应的预加载收益值。
可选地,响应针对目标应用程序的启动指令之前,方法还包括:对属于第一应用类型的至少一个第一应用程序进行启动测试,获取各第一应用程序启动测试过程中对应的样本第一启动时间,以及获取各第一应用程序启动测试过程中对应的样本第二启动时间;基于各样本第一启动时间以及各样本第二启动时间得到各第一应用程序的第一样本预加载收益值,以及基于各第一应用程序的各第一样本预加载收益值分别确定各第一应用程序对应的第一预加载收益值区间;对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,基于各第二样本预加载收益值确定各第二应用程序统一对应的第二预加载收益值区间。
可选地,方法还包括:展示目标应用程序的预加载总收益值、预加载策略的预加载总收益值中的至少一种。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种应用程序启动方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种应用程序启动方法,其特征在于,所述方法包括:
响应针对目标应用程序的启动指令,若所述目标应用程序已经基于预加载策略被预加载,则基于所述目标应用程序的预加载数据启动所述目标应用程序;
获取所述目标应用程序在本次启动过程中对应的预加载收益值以及展示所述预加载收益值。
2.根据权利要求1所述的方法,其特征在于,所述预加载收益值为第二启动时间与第一启动时间的差值;
其中,所述第一启动时间为所述目标应用程序被预加载后所述目标应用程序的启动时间,所述第二启动时间为所述目标应用程序未被预加载后所述目标应用程序的启动时间。
3.根据权利要求2所述的方法,其特征在于,所述获取所述目标应用程序在本次启动过程中对应的预加载收益值,包括:
获取所述目标应用程序在本次启动过程中对应的目标第一启动时间,以及获取所述目标应用程序在历史启动过程中对应的目标第二启动时间;
将所述目标第一启动时间与所述目标第二启动时间之间的差值,作为所述目标应用程序在本次启动过程中对应的预加载收益值。
4.根据权利要求3所述的方法,其特征在于,所述获取所述目标应用程序在本次启动过程中对应的目标第一启动时间,包括:
获取接收到所述启动指令的第一时刻,以及获取所述目标应用程序在本次启动过程中指定服务运行时或者指定纹理加载时的第二时刻;
将所述第二时刻与所述第一时刻之间的差值,作为所述目标应用程序在本次启动过程中对应的目标第一启动时间。
5.根据权利要求2所述的方法,其特征在于,所述获取所述目标应用程序在本次启动过程中对应的预加载收益值,包括:
获取所述目标应用程序对应的目标预加载收益值区间,所述目标预加载收益值区间基于样本预加载收益值确定;
从所述目标预加载收益值区间中确定目标预加载收益值,作为所述目标应用程序在本次启动过程中对应的预加载收益值。
6.根据权利要求5所述的方法,其特征在于,所述响应针对目标应用程序的启动指令之前,所述方法还包括:
对属于第一应用类型的至少一个第一应用程序进行启动测试,获取各第一应用程序启动测试过程中对应的样本第一启动时间,以及获取各第一应用程序启动测试过程中对应的样本第二启动时间;
基于各样本第一启动时间以及各样本第二启动时间得到各第一应用程序的第一样本预加载收益值,以及基于各第一应用程序的各第一样本预加载收益值分别确定各第一应用程序对应的第一预加载收益值区间;
对属于第二应用类型的至少一个第二应用程序设置统一对应的第二样本预加载收益值,基于各第二样本预加载收益值确定各第二应用程序统一对应的第二预加载收益值区间。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
展示所述目标应用程序的预加载总收益值、所述预加载策略的预加载总收益值中的至少一种。
8.一种应用程序启动装置,其特征在于,所述装置包括:
启动模块,用于响应针对目标应用程序的启动指令,若所述目标应用程序已经基于预加载策略被预加载,则基于所述目标应用程序的预加载数据启动所述目标应用程序;
收益展示模块,用于获取所述目标应用程序在本次启动过程中对应的预加载收益值以及展示所述预加载收益值。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的所述方法的步骤。
10.一种终端,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1~7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210874584.XA CN115167931A (zh) | 2022-07-21 | 2022-07-21 | 应用程序启动方法、装置、存储介质以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210874584.XA CN115167931A (zh) | 2022-07-21 | 2022-07-21 | 应用程序启动方法、装置、存储介质以及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115167931A true CN115167931A (zh) | 2022-10-11 |
Family
ID=83496673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210874584.XA Pending CN115167931A (zh) | 2022-07-21 | 2022-07-21 | 应用程序启动方法、装置、存储介质以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115167931A (zh) |
-
2022
- 2022-07-21 CN CN202210874584.XA patent/CN115167931A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363593B (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN111240837B (zh) | 资源配置方法、装置、终端及存储介质 | |
CN107911798B (zh) | 消息推送方法、装置及终端 | |
CN110333947B (zh) | 一种游戏应用的分包资源加载方法、装置、设备及介质 | |
CN108647052A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN108595224A (zh) | 应用程序提示方法、装置、存储介质及终端 | |
CN109495427B (zh) | 多媒体数据展示方法、装置、存储介质和计算机设备 | |
CN108958828A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN107748690A (zh) | 应用跳转方法、装置和计算机存储介质 | |
CN113230660A (zh) | 应用程序更新方法、装置及设备 | |
CN107832127B (zh) | 应用控制方法及相关产品 | |
CN113312237B (zh) | 信息反馈方法、装置、电子设备及存储介质 | |
CN107450951B (zh) | 应用程序处理方法、装置、存储介质和终端 | |
CN107291543B (zh) | 应用程序处理方法、装置、存储介质和终端 | |
US11463773B2 (en) | Providing activity notifications regarding digital content | |
CN115167931A (zh) | 应用程序启动方法、装置、存储介质以及终端 | |
CN107168648B (zh) | 文件存储方法、装置及终端 | |
CN116133089A (zh) | 一种设备通信方法、装置、电子设备及存储介质 | |
CN112256354B (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN113286349B (zh) | 个人热点连接方法、装置、终端及存储介质 | |
CN113163255B (zh) | 视频播放方法、装置、终端及存储介质 | |
CN112596883B (zh) | 一种应用切换方法、装置、存储介质及电子设备 | |
CN112291602B (zh) | 视频播放方法、电子设备及存储介质 | |
CN115328725A (zh) | 状态监测方法、装置、存储介质及电子设备 | |
CN113849195A (zh) | 应用程序加载方法、装置、存储介质以及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |