CN110888686B - 应用程序启动方法、设备和存储介质 - Google Patents

应用程序启动方法、设备和存储介质 Download PDF

Info

Publication number
CN110888686B
CN110888686B CN201811042027.1A CN201811042027A CN110888686B CN 110888686 B CN110888686 B CN 110888686B CN 201811042027 A CN201811042027 A CN 201811042027A CN 110888686 B CN110888686 B CN 110888686B
Authority
CN
China
Prior art keywords
application program
module
starting
component
repeated
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.)
Active
Application number
CN201811042027.1A
Other languages
English (en)
Other versions
CN110888686A (zh
Inventor
张文赋
马大鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN201811042027.1A priority Critical patent/CN110888686B/zh
Publication of CN110888686A publication Critical patent/CN110888686A/zh
Application granted granted Critical
Publication of CN110888686B publication Critical patent/CN110888686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供的应用程序启动方法、设备和存储介质,该方法包括:根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;当时间到达至少一个第一应用程序对应的时间段,则根据系统内存中每个第一应用程序的模块或者组件启动第一应用程序,缩短了应用程序的启动时间,提高了用户体验。

Description

应用程序启动方法、设备和存储介质
技术领域
本发明实施例涉及移动终端设备技术领域,尤其涉及一种应用程序启动方法、设备和存储介质。
背景技术
随着移动互联网的发展,应用程序也日益强大,应用程序的发展不仅使得人们的生活更加方便,而且加快了企业的信息化进程。
现有技术中,由于一个应用程序会引用多个基础功能模块,通常这些基础模块都存储在手机内存中,当启动该应用程序时,处理器将加载手机内存中存储的多个基础功能模块至系统内存。其中,系统内存通常是作为操作系统或其他正在运行程序的临时存储介质,也称作运行内存;手机内存一般用来存储东西。
然而,随着应用程序启动时需要加载的模块越来越多,应用程序启动时间也越来越长,导致应用程序启动的速度变慢,降低了用户的体验。
发明内容
本发明实施例提供一种应用程序启动方法、设备和存储介质,以解决应用程序启动的时间长,降低了用户体验的问题。
第一方面,本发明实施例提供一种应用程序启动方法,包括:
根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序。
可选的,若所述第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的组件,则所述将每个第一应用程序的模块或者组件加载至系统内存,包括:
将每个第一应用程序重复的组件加载至所述系统内存。
可选的,若所述第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的模块,则所述将每个第一应用程序程序的模块或者组件加载至系统内存,包括:
将每个第一应用程序重复的模块加载至所述系统内存。
可选的,所述方法还包括:
记录每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
将每个应用程序的启动数据发送至服务器。
可选的,所述方法还包括:
接收所述服务器发送的启动数据分析结果;所述启动数据分析结果包括每个应用程序程序使用的时间段,存在重复模块或者重复组件的应用程序程序的名称以及重复模块的名称或者重复组件的名称。
可选的,所述方法包括:
若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来。
第二方面,本发明实施例提供一种应用程序启动方法,包括:
接收终端设备设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
将所述启动数据分析结果返回所述终端设备。
第三方面,本发明实施例提供一种终端设备,包括:
确定模块,用于根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
处理模块,用于若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
启动模块,用于当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序。
可选的,若所述第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的组件,则所述处理模块具体用于:
将每个第一应用程序重复的组件加载至所述系统内存。
可选的,若所述第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的模块,则所述处理模块具体用于:
将每个第一应用程序重复的模块加载至所述系统内存。
可选的,所述处理模块还用于,记录每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
还包括发送模块,所述发送模块用于:
将每个应用程序的启动数据发送至服务器。
可选的,还包括接收模块,所述接收模块用于:
接收所述服务器发送的启动数据分析结果;所述启动数据分析结果包括每个应用程序程序使用的时间段,存在重复模块或者重复组件的应用程序程序的名称以及重复模块的名称或者重复组件的名称。
可选的,所述处理模块还用于:
若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来。
第四方面,本发明实施例提供一种服务器,包括:
接收模块,用于接收终端设备设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
获取模块,用于根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
发送模块,用于将所述启动数据分析结果返回所述终端设备设备。
第五方面,本发明实施例提供一种终端设备,包括:接收器、发送器、存储器、处理器以及计算机程序;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的应用程序启动方法。
第六方面,本发明实施例提供一种服务器,包括:接收器、发送器、存储器、处理器以及计算机程序;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第二方面所述的应用程序启动方法。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的应用程序启动方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第二方面所述的应用程序启动方法。
本发明实施例提供的应用程序启动方法、设备和存储介质,该方法根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;其中,当前时间距至少一个第一应用程序对应的时间段小于预设时长;若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;当时间到达至少一个第一应用程序对应的时间段,则根据系统内存中每个第一应用程序的模块或者组件启动第一应用程序,缩短了应用程序的启动时间,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序启动的场景示意图;
图2为本发明实施例提供的应用程序启动方法的流程示意图一;
图3为本发明实施例提供的应用程序启动方法的流程示意图二;
图4为本发明实施例提供的终端设备的结构示意图一;
图5为本发明实施例提供的终端设备的结构示意图二;
图6为本发明实施例提供的服务器的结构示意图一;
图7为本发明实施例提供的终端设备的硬件结构示意图;
图8为本发明实施例提供的服务器的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用程序启动的场景示意图,如图1所示,本实施例提供的系统包括终端设备101和服务器102。其中,终端设备101可以为手机、平板电脑、笔记本电脑等。本实施例对终端设备101的实现方式不做特别限制。
现有技术中,每个应用程序会引用多个基础功能模块,通常在下载应用程序时这些基础功能模块被存储至终端设备101本地,也有一些应用程序的基础功能模块需要在联网时从服务器102下载获取,当启动该应用程序时,终端设备101的处理器将这些基础功能模块加载至其系统内存。
然而,随着应用程序的功能越来越强大,其引用的基础功能模块也越来越多,处理器需要加载的模块也越来越多,导致应用程序启动的速度变慢,降低了用户的体验。
本发明实施例提供一种应用程序启动方法,该方法通过将每个第一应用程序的模块或组件预先加载至系统内存,再启动第一应用程序,缩短了应用程序的启动时间,提高了用户体验。下面采用详细的实施例进行详细说明。
图2为本发明实施例提供的应用程序启动方法的流程示意图一,本实施例的执行主体可以为图1所示实施例中的终端设备。如图2所示,该方法包括:
S201、根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序。
其中,终端设备可以记录每个应用程序使用的时间段,根据大数据推断出每个应用程序对应的时间段。
终端设备根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序,具体地,当前时间距至少一个第一应用程序对应的时间段小于预设时长,因此,假设预设时长为10分钟,若当前时间为下午6点55分,那么当前时间距离下午7点至下午9点的最小时长为5分钟,5分钟小于10分钟,在预设时长内,因此确定存在一个第一应用程序,这里的第一应用程序为游戏应用程序。应理解,第一应用程序可以有多个。
同理,当前时间距离上午8点至上午9点的最小时长大于预设时长,则该应用程序不是第一应用程序。
S202、若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存。
由于每一个应用程序都有对应的基础功能模块和组件,通常在下载该应用程序时,这些模块和组件会被下载至终端设备内存,也可称为只读存储器(ROM-read onlymemory,ROM)。
若存在至少一个第一应用程序,终端设备的处理器预先将第一应用程序的模块或组件加载至终端设备的系统内存,也可称为随机存取存储器(random access memory,RAM)。除此之外,也有一些应用程序的部分模块和组件需要在联网时从服务器获取,然后处理器再将其加载至终端设备的系统内存。
可选的,若第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的组件,则将每个第一应用程序重复的组件加载至系统内存。
同理,若第一应用程序的个数大于或等于两个,且每个第一应用程序重复使用相同的模块,则将每个第一应用程序重复的模块加载至系统内存。
若第一应用程序有应用程序A和应用程序B两个,应用程序A对应的启动组件有组件1、组件2,启动模块有模块1、模块2,应用程序B对应的启动组件有组件1、组件3,启动模块有模块2、模块4,那么可以将重复的组件1、模块2加载至系统内存,若应用程序A和应用程序B对应的时间段为下午6点至下午7点,则可以在下午6点之前将组件1、模块2加载至系统内存并存储起来,当时间超过下午7点,再将组件1、模块2“释放”,也就是不必存储在系统内存,从而减轻了系统的压力。
S203、当时间到达至少一个第一应用程序对应的时间段,则根据系统内存中每个第一应用程序的模块或者组件启动第一应用程序。
若当前时间到达至少一个第一应用程序对应的时间段,则可以根据预先记载至系统内存中的第一应用程序的模块或者组件直接启动该第一应用程序,而不需要再将第一应用程序对应的模块或组件加载至系统内存。
本实施例提供的应用程序应用程序启动方法,根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序;其中,当前时间距至少一个第一应用程序对应的时间段小于预设时长;若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;当时间到达至少一个第一应用程序对应的时间段,则根据系统内存中每个第一应用程序的模块或者组件启动第一应用程序,缩短了应用程序的启动时间,提高了用户体验。
图3为本发明实施例提供的应用程序启动方法的流程示意图二,如图3所示,在本方案的另一种实现方式中,该方法还包括:
S301、终端设备记录每个应用程序的启动数据。
S302、终端设备将每个应用程序的启动数据发送至服务器。
在上述步骤中,根据用户的操作,终端设备记录每个应用程序的启动数据,其中,启动数据包括应用程序的名称,应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二进制包和组件二进制包。
进一步地,终端设备该启动数据发送至服务器,在一种实现方式中,终端设备定时主动向服务器发送启动数据,该启动数据包括多个应用程序的启动数据;或者,服务器发送一个获取请求给终端设备,终端设备接收到服务器的获取请求后再向服务器发送启动数据,该启动数据包括至少一个应用程序的启动数据,或者,在每个应用程序刚启动时,终端设备即刻向服务器发送该应用程序对应的启动数据。
例如,启动数据为应用程序A,启动的模块有模块1,启动时间1秒;模块2,启动时间2秒;模块1中有组件1、2,启动时间0.3秒、0.7秒;模块2中有组件3、组件4、启动时间各为1秒;应用程序B启动的模块由模块3,启动时间3秒;启动有组件2、组件4,启动时间各为0.7秒、2.3秒。
S303、服务器根据每个应用程序的启动数据进行分析,获取启动数据分析结果。
S304、服务器将启动数据分析结果返回终端设备。
具体地,服务器接收到终端设备发送的每个应用程序的启动数据后,对其进行分析,得到每个启动数据的分析结果,该启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称。
其中,每个应用程序的使用时间段可以根据终端设备上报的启动数据分析出来,例如,终端设备上午8点向服务器发送启动数据,则服务器分析出该应用程序的使用时间为上午8点,根据一段时间的统计,分析出该应用程序的使用时间段在上午8点至上午10点。
另外,假设应用程序A对应的启动组件有组件1、组件2,启动模块有模块1、模块2;应用程序B对应的启动组件有组件1、组件3,启动模块有模块2、模块4,则服务器可分析出应用程序A和应用程序B存在重复的模块或组件,且重复模块为模块2,重复组件为组件1。
进一步,服务器将启动数据的分析结果发送至终端设备,可选的,终端设备还可以调用服务器提供的接口,以得到启动数据的分析结果。
可选的,若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,终端设备将两个或者两个以上的第一应用程序的模块中重复的部分提取出来,或者,将两个或者两个以上的第一应用程序的组件中重复的部分提取出来。
具体地,终端设备对从服务器获取到的可重复使用的模块及组件进行深入的解析,找到这些模块或组件中重复的部分,并提取出来。例如组件2和组件4中有一半的Java档案文件(Java Archive File,jar)包是重复的,则将这部分重复的jar包提取出来,以减少组件2和组件4的体积;模块5、模块6和组件2中,有部分jar包是重复的,将这些jar包提取出来,就可以减少这些模块和组件的体积,从而减少常驻系统的空间,进一步提高应用的启动速度。
S301-S305可以在步骤S201-S203之前执行或之后执行,本实施例不做限制。
本实施例提供的应用程序启动方法,通过终端设备记录每个应用程序的启动数据,并将每个应用程序的启动数据发送至服务器;服务器根据每个应用程序的启动数据进行分析,获取启动数据分析结果,再将启动数据分析结果返回终端设备设备;若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,终端设备将两个或者两个以上的第一应用程序的模块中重复的部分提取出来,或者,将两个或者两个以上的第一应用程序的组件中重复的部分提取出来。本实施例终端设备将重复模块或组件中的重复部分提取出来,减少了这些模块和组件的体积,从而减少常驻系统的空间,进一步提高应用的启动速度,提高了用户体验。
图4为本发明实施例提供的终端设备的结构示意图一,如图4所示,终端设备40包括:确定模块401、处理模块402、启动模块403。
确定模块401,用于根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
处理模块402,用于若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
启动模块403,用于当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序。
本实施例提供的终端设备,包括确定模块、处理模块、启动模块,确定模块用于根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序程序;处理模块用于若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;启动模块用于当时间到达所述至少一个第一应用程序对应的时间段,则根据系统内存中每个第一应用程序的模块或者组件启动第一应用程序。缩短了应用程序的启动时间,提高了用户体验。
图5为本发明实施例提供的终端设备的结构示意图二,如图5所示,终端设备40还包括:发送模块404、接收模块405。
可选的,所述处理模块402具体用于:
将每个第一应用程序重复的组件加载至所述系统内存。
可选的,所述处理模块402具体用于:
将每个第一应用程序重复的模块加载至所述系统内存。
可选的,所述处理模块402还用于,记录每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
可选的,所述发送模块404用于:
将每个应用程序的启动数据发送至服务器。
可选的,所述接收模块405用于:
接收所述服务器发送的启动数据分析结果;所述启动数据分析结果包括每个应用程序程序使用的时间段,存在重复模块或者重复组件的应用程序程序的名称以及重复模块的名称或者重复组件的名称。
可选的,所述处理模块402还用于:
若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来。
本实施例提供的终端设备,还包括:发送模块、接收模块,发送模块用于将每个应用程序的启动数据发送至服务器;接收模块用于接收服务器发送的启动数据分析结果。基于服务分析得到应用程序的启动数据中重复的模块或组件,终端设备再根据该重复的模块或组件,实现应用程序的启动,有利于缩短应用程序的启动时间。
图6为本发明实施例提供的服务器的结构示意图一,如图6所示,服务器60包括:接收模块601、获取模块602、发送模块603。
接收模块601,用于接收终端设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
获取模块602,用于根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
发送模块603,用于将所述启动数据分析结果返回所述终端设备设备。
本实施例提供的服务器,包括:接收模块、获取模块、发送模块,接收模块用于接收终端设备设备发送的每个应用程序的启动数据;获取模块用于根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;发送模块用于将启动数据分析结果返回终端设备设备。缩短了应用程序的启动时间。
图7为本发明实施例提供的终端设备的硬件结构示意图,如图7所示,
包括:接收器、发送器、存储器、处理器以及计算机程序,所述处理器运行所述计算机程序以执行:
根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序。
图8为本发明实施例提供的服务器的硬件结构示意图,如图8所示,包括:接收器、发送器、存储器、处理器以及计算机程序,所述处理器运行所述计算机程序以执行:
接收终端设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二进制包和组件二进制包;
根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
将所述启动数据分析结果返回所述终端设备设备。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一方案提供终端设备的应用程序启动方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一方案提供服务器的应用程序启动方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于终端设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种应用程序启动方法,其特征在于,包括:
根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序;
若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,将每个第一应用程序重复的模块加载至所述系统内存;或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来,将每个第一应用程序重复的组件加载至所述系统内存。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二进制包和组件二进制包;
将每个应用程序的启动数据发送至服务器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称。
4.一种应用程序启动方法,其特征在于,所述方法包括:
接收终端设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二进制包和组件二进制包;
根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
将所述启动数据分析结果返回所述终端设备;
若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,将每个第一应用程序重复的模块加载至系统内存;或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来,将每个第一应用程序重复的组件加载至所述系统内存。
5.一种终端设备,其特征在于,包括:
确定模块,用于根据预先获取的每个应用程序对应的时间段以及当前时间,确定是否存在至少一个第一应用程序;其中,所述当前时间距所述至少一个第一应用程序对应的时间段小于预设时长;
处理模块,用于若存在至少一个第一应用程序,则将每个第一应用程序的模块或者组件加载至系统内存;
启动模块,用于当时间到达所述至少一个第一应用程序对应的时间段,则根据所述系统内存中每个第一应用程序的模块或者组件启动所述第一应用程序;
所述处理模块,还用于若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,将每个第一应用程序重复的模块加载至所述系统内存;或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来,将每个第一应用程序重复的组件加载至所述系统内存。
6.一种服务器,其特征在于,包括:
接收模块,用于接收终端设备发送的每个应用程序的启动数据;所述启动数据包括所述应用程序的名称,所述应用程序启动时需要加载的模块名称、组件名称、模块启动时间、组件启动时间、模块二级制包和组件二进制包;
获取模块,用于根据所述每个应用程序的启动数据进行分析,获取启动数据分析结果;所述启动数据分析结果包括每个应用程序使用的时间段,存在重复模块或者重复组件的应用程序的名称以及重复模块的名称或者重复组件的名称;
发送模块,用于将所述启动数据分析结果返回所述终端设备;
处理模块,还用于若存在两个或者两个以上的第一应用程序的模块存在部分重复或者组件存在部分重复,则将所述两个或者两个以上的第一应用程序的模块中重复的部分提取出来,将每个第一应用程序重复的模块加载至系统内存;或者,将所述两个或者两个以上的第一应用程序的组件中重复的部分提取出来,将每个第一应用程序重复的组件加载至所述系统内存。
7.一种终端设备,其特征在于,包括:接收器、发送器、存储器、处理器以及计算机程序;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至3任一项所述的应用程序启动方法。
8.一种服务器,其特征在于,包括:接收器、发送器、存储器、处理器以及计算机程序;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求4所述的应用程序启动方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至3任一项所述的应用程序启动方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求4所述的应用程序启动方法。
CN201811042027.1A 2018-09-07 2018-09-07 应用程序启动方法、设备和存储介质 Active CN110888686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811042027.1A CN110888686B (zh) 2018-09-07 2018-09-07 应用程序启动方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811042027.1A CN110888686B (zh) 2018-09-07 2018-09-07 应用程序启动方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110888686A CN110888686A (zh) 2020-03-17
CN110888686B true CN110888686B (zh) 2022-08-16

Family

ID=69744472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811042027.1A Active CN110888686B (zh) 2018-09-07 2018-09-07 应用程序启动方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110888686B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114547632B (zh) * 2020-11-19 2023-10-13 成都鼎桥通信技术有限公司 信息保护方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001236013A1 (en) * 2001-03-01 2003-03-13 Sony Interactive Entertainment Inc. Entertainment device, menu display method, and information recording medium
WO2013082745A1 (zh) * 2011-12-05 2013-06-13 宇龙计算机通信科技(深圳)有限公司 终端和应用程序的启动方法
CN104267982A (zh) * 2014-09-22 2015-01-07 捷开通讯科技(上海)有限公司 应用程序启动控制系统与控制方法
CN104346194A (zh) * 2014-04-18 2015-02-11 腾讯科技(深圳)有限公司 一种启动文件加载方法、装置及电子设备
WO2016124048A1 (zh) * 2015-02-06 2016-08-11 掌赢信息科技(上海)有限公司 一种应用程序启动方法和电子设备
CN106406966A (zh) * 2016-10-31 2017-02-15 维沃移动通信有限公司 一种应用程序的预加载方法及移动终端
CN107544898A (zh) * 2017-09-08 2018-01-05 北京小米移动软件有限公司 数据获取方法、装置、设备和存储介质
CN107544822A (zh) * 2017-07-26 2018-01-05 北京珠穆朗玛移动通信有限公司 应用程序预加载方法、移动终端及具有存储功能的装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001236013A1 (en) * 2001-03-01 2003-03-13 Sony Interactive Entertainment Inc. Entertainment device, menu display method, and information recording medium
WO2013082745A1 (zh) * 2011-12-05 2013-06-13 宇龙计算机通信科技(深圳)有限公司 终端和应用程序的启动方法
CN104346194A (zh) * 2014-04-18 2015-02-11 腾讯科技(深圳)有限公司 一种启动文件加载方法、装置及电子设备
CN104267982A (zh) * 2014-09-22 2015-01-07 捷开通讯科技(上海)有限公司 应用程序启动控制系统与控制方法
WO2016124048A1 (zh) * 2015-02-06 2016-08-11 掌赢信息科技(上海)有限公司 一种应用程序启动方法和电子设备
CN106406966A (zh) * 2016-10-31 2017-02-15 维沃移动通信有限公司 一种应用程序的预加载方法及移动终端
CN107544822A (zh) * 2017-07-26 2018-01-05 北京珠穆朗玛移动通信有限公司 应用程序预加载方法、移动终端及具有存储功能的装置
CN107544898A (zh) * 2017-09-08 2018-01-05 北京小米移动软件有限公司 数据获取方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN110888686A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN106936441B (zh) 一种数据压缩方法和装置
CN106201783B (zh) 一种数据恢复方法和装置
WO2016202000A1 (zh) 差分回退升级方法及装置
CN114417335A (zh) 一种恶意文件检测方法、装置、电子设备及存储介质
CN106203092B (zh) 一种拦截恶意程序关机的方法、装置及电子设备
CN108183974A (zh) 一种智能终端应用程序的域名动态切换方法及智能终端
CN108509322B (zh) 避免过度回访的方法、电子装置及计算机可读存储介质
CN105893847A (zh) 一种保护安全防护应用程序文件的方法、装置及电子设备
CN110908837A (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN113535226B (zh) 应用下载方法、终端、服务器、计算机设备以及存储介质
CN106997313B (zh) 一种应用程序的信号处理方法、系统及终端设备
CN110888686B (zh) 应用程序启动方法、设备和存储介质
CN111045698A (zh) 冗余图片的删除方法、装置、电子设备及存储介质
US10503430B2 (en) Method and device for clearing data and electronic device
CN110647753B (zh) 内核文件的获取方法、装置、设备及存储介质
CN113396391B (zh) 应用程序启动的方法、装置、电子设备及存储介质
CN111475335A (zh) 一种数据库快速恢复的方法、系统、终端及存储介质
CN114281673B (zh) 基于虚拟化服务的测试方法、设备以及存储介质
CN112579357B (zh) 快照差量获取方法、装置、设备及存储介质
CN113485855B (zh) 一种内存共享方法、装置、电子设备及可读存储介质
CN113220362A (zh) 日志记录获取方法、装置、计算机设备和存储介质
CN105657473A (zh) 数据处理的方法和装置
CN108959405B (zh) 数据的强一致性读取方法及终端设备
US20210397498A1 (en) Information processing apparatus, control method, and program

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
GR01 Patent grant
GR01 Patent grant