CN110688168A - 提高应用程序启动速度方法、装置、设备及存储介质 - Google Patents

提高应用程序启动速度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110688168A
CN110688168A CN201910754712.5A CN201910754712A CN110688168A CN 110688168 A CN110688168 A CN 110688168A CN 201910754712 A CN201910754712 A CN 201910754712A CN 110688168 A CN110688168 A CN 110688168A
Authority
CN
China
Prior art keywords
application program
loading
starting
time
client
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
Application number
CN201910754712.5A
Other languages
English (en)
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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201910754712.5A priority Critical patent/CN110688168A/zh
Publication of CN110688168A publication Critical patent/CN110688168A/zh
Pending legal-status Critical Current

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/44505Configuring for program initiating, e.g. using registry, configuration files

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是本发明一实施例中提高应用程序启动速度方法的一流程示意图;
图9是本发明一实施例中提高应用程序启动速度装置的一结构示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的提高应用程序启动速度方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种提高应用程序启动速度方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10、获取客户端上指定应用程序的启动加载时间;
S20、判断所述启动加载时间是否大于预设阈值;
S30、若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
S40、将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
本实施例中,在客户端上,运行的系统可以是Windows系统、Mac OS系统、iOS系统、Android系统、Linux系统或其他操作系统。指定应用程序指的是可在操作系统上运行的应用程序,如Windows系统上运行的EXE程序、Android系统上的APK程序。在一些情况下,指定应用程序也可以指一些附属于其他应用程序上的小程序,如微信、支付宝的小程序。指定应用程序还可以是基于Html5的交互页面。
指定应用程序的启动加载时间可以指从打开该指定应用程序到指定应用程序完全加载所耗费的时长。在程序测试阶段,启动加载时间可以采用秒表测试的方式获得,也可以使用高速影像摄像机测试的方式获得。秒表测试指的是由测试人员使用秒表直接测量出指定应用程序的启动加载时间,然后将启动加载时间录入计算机,并上传至服务端。而高速影像摄像机测试则是通过录制测试人员测试指定应用程序的视频,然后根据该视频解析出指定应用程序的启动加载时间。在另一种情况,也可以使用操作系统的编译软件对指定应用程序的启动加载时间进行测量,如可以根据客户端的内存使用确定指定应用程序的启动加载时间。
预设阈值可以根据实际需要进行设定,如可以是1秒,也可以是3秒。不同的指定应用程序可以设置不同的预设阈值。客户端的配置不同,也可以设置不同的预设阈值。当启动加载时间小于或等于预设阈值,说明指定应用程序的启动速度正常,不需要做进一步的优化。而当启动加载时间大于预设阈值,说明指定应用程序的启动速度较慢,需要做进一步的优化。
在此处,指定应用程序包括多于一个的功能模块。启动加载信息用于配置指定应用程序在启动时需要运行的功能模块,以及功能模块的加载次序。如在Android系统中,指定应用程序可以分成多个dex文件(即功能模块),每个dex文件对应一个功能页面(类)。dex文件指的是Android APK编译生成的二进制执行文件。在Android APP中,包括代码(dex文件)、资源文件(res/asset/lib)、manifest文件(APK程序运行的必要文件之一)。其中,dex文件由二进制代码组成。运行每个dex文件均需要加载相应的资源文件,因而会增加相应的CPU、内存、GPU等计算资源的占用。
启动加载信息可以由服务端自动生成,也可以由指定应用程序的运维人员根据客户端上传的启动加载时间对原来的启动加载信息进行调整,生成新的启动加载信息。在一些情况下,服务端可以预存有多个不同的启动加载信息,每个启动加载信息与指定启动加载时长的客户端适配。
在生成启动加载信息之后,将该启动加载信息发送给客户端。客户端可以将该启动加载信息保存在与指定应用程序关联的位置,如指定应用程序的安装目录中,或者指定应用程序的缓存位置。当指定应用程序重新启动时,指定应用程序将加载启动加载信息设定的功能模块,并完成启动过程。此时,指定应用程序的启动速度将会大大加快。
步骤S10-S40中,获取客户端上指定应用程序的启动加载时间,以收集指定应用程序的实际启动时间,可用作评价指定应用程序的参考指标。判断所述启动加载时间是否大于预设阈值,以判断当前客户端上指定应用程序的启动加载时间是否正常。若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块,以得到更适合客户端的启动加载信息,提高指定应用程序在该客户端的启动速度。将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序,由于更新了启动加载信息,指定应用程序的加载速度将大大加快,启动加载时间也将大大减少,大大提高了用户的使用体验。
可选的,如图3所示,步骤S30还包括:
S301、获取所述客户端的性能数据;
S302、获取与所述性能数据匹配的功能模块;
S303、根据所述与所述性能数据匹配的功能模块生成所述启动加载信息。
本实施例中,客户端的性能数据可以指客户端经测试软件测试后的性能参数,如使用安兔兔、Geekbench、Quadrant Advanced象限跑分、Vellamo网页基准测试、Nenamark等测试软件对客户端进行测试后获得的性能数据。在一些情况下,也可以只获取客户端的配置信息,然后根据客户端的配置信息生成相应的性能数据。如,可以预先设定指定类型的配置的性能分数,在获取到客户端的配置信息后,根据配置信息中的所有硬件配置计算出客户端的性能数据。在此处,客户端的配置信息包括但不限于CPU型号、内存大小、硬盘/闪存大小(既包括磁盘总空间、已使用容量等)、GPU型号、硬件使用时长。
可以预先设置功能模块与性能数据的对应关系。例如,在一指定应用程序中,包括功能模块A-E,A为必要的功能模块,可以设置如表1的功能模块与性能数据的对应关系。
表1指定应用程序的功能模块与客户端的性能数据的对应关系
性能数据 功能模块
0-1000 A
1001-2000 A、B
2001-3000 A、C
3001-4000 A、B、C
4001-5000 A、B、C、D
5000以上 A、B、C、D、E
在获得与性能数据匹配的功能模块后,可以生成相应的启动加载信息。如与性能数据匹配的功能模块为模块A、B、C,则在启动加载信息中,可以设置在启动指定应用程序时,只加载模块A、B、C。
步骤S301-S303中,获取所述客户端的性能数据,以确定客户端的实际计算能力。获取与所述性能数据匹配的功能模块,以选取适合在指定应用程序启动时加载的功能模块。根据所述与所述性能数据匹配的功能模块生成所述启动加载信息,以生成新的启动加载信息,提高指定应用程序的启动速度。
可选的,如图4所示,步骤S30还包括:
S304、获取所述客户端的性能数据;
S305、将所述性能数据输入预设的应用启动时间解析模型;
S306、获取所述预设的应用启动时间解析模型输出的输出数据;
S307、根据所述输出数据生成所述启动加载信息。
本实施例中,客户端的性能数据可以指客户端经测试软件测试后的性能参数。如客户端使用的操作系统为Android系统,性能参数可以包括3D性能,UX(用户体验)性能,CPU性能和RAM性能。每项性能可以包括多项子项目的性能数据。预设的应用启动时间解析模型可以是基于收集到用户设备数据而构建的应用启动时间解析模型。每个用户设备数据包括了设备性能数据、启动加载时间以及启动时加载的功能模块。可以选用使用的分类算法构建预设的应用启动时间解析模型,如分类算法可以是决策树算法、基于贝叶斯决策理论的算法。
预设的应用启动时间解析模型可以根据客户端的性能数据解析出相应的输出数据。在此处,输出数据可以是指定应用程序的最佳的功能模块搭配组合。在获得模型输出的输出数据之后,可以基于输出数据生成优化后的启动加载信息。指定应用程序根据优化后的启动加载信息启动程序,程序启动速度将大大加快,减少了用户的等待时间,优化用户体验。
步骤S304-S307中,获取所述客户端的性能数据,以获得客户端的性能参数。将所述性能数据输入预设的应用启动时间解析模型,以使用机器算法对客户端的性能数据进行分析。获取所述预设的应用启动时间解析模型输出的输出数据,以获得解析模型的输出结果(即上述输出数据)。根据所述输出数据生成所述启动加载信息,以生成新的启动加载信息,提高指定应用程序的启动速度。
可选的,如图5所示,步骤S10包括:
S101、获取所述指定应用程序的启动时间;
S102、获取所述指定应用程序加载完毕后的加载完成时间;
S103、将所述加载完成时间与所述启动时间的时间差确定为所述启动加载时间。
本实施例中,可以检测指定应用程序的启动时间和加载完毕后的加载完成时间来确定指定应用程序的启动加载时间。在此处,指定应用程序的启动时间指的是用户打开指定应用程序的时间,如Windows系统中,用户以双击的方式打开一个指定应用程序,用户进行双击时的时间即为指定应用程序的启动时间。此时,在任务管理器的应用进程中,会增加指定应用程序对应的进程,指定应用程序在运行时,可能会占用一个或多个进程。在打开指定应用程序后,通常需要等待一定的时间,指定应用程序才能响应用户的操作,可以将指定应用程序开始响应用户操作的时间点作为加载完成时间。在打开指定应用程序时,CPU的占用率、内存占用率、磁盘的读写速度均会出现突变,可以根据指定应用程序占用的进程的计算资源的变化情况确定指定应用程序的启动时间和加载完毕后的加载完成时间,然后计算加载完成时间与启动时间的时间差,获得的时间差即为指定应用程序的启动加载时间。
步骤S101-S103中,获取所述指定应用程序的启动时间,以获取用户打开指定应用程序的时间。获取所述指定应用程序加载完毕后的加载完成时间,以获取指定应用程序完成加载的时间。将所述加载完成时间与所述启动时间的时间差确定为所述启动加载时间,以获得指定应用程序实际完成启动的时间。
可选的,如图6所示,步骤S30还包括:
S31、获取所述指定应用程序的使用数据;
S32、根据所述使用数据统计所述指定应用程序中各个功能模块的使用状况,所述使用状况包括模块使用次序和/或模块使用次数;
S33、根据所述各个功能模块的使用状况确定所述指定应用程序中各个功能模块的加载次序;
S34、根据所述各个功能模块的加载次序生成所述启动加载信息。
本实施例中,指定应用程序的使用数据可以指用户使用指定应用程序的操作记录,如可以包括用户使用各个功能模块的次序、停留时间等。
根据用户的使用数据可以统计出各个功能模块的使用状况(即用户的使用习惯)。在此处,各个功能模块的使用状况包括模块使用次序和/或模块使用次数。;模块使用次序指的是用户在指定应用程序启动后的模块使用顺序,如用户甲习惯先使用模块C,再用模块B,用户乙习惯先使用模块B,再使用模块C。模块使用次数则是指用户使用特定模块的次数,如对于用户甲,B模块的使用次数为50,C模块的使用次数为5,显然,用户甲使用B模块的频率远远高于C模块,因而在启动时,可以优先加载B模块。而对于用户乙,情况刚好相反,C模块的使用次数为20,B模块的使用次数为3,这是,用户乙使用C模块的频率远远高于B模块,因而在启动时,可以优先加载C模块。因而可以根据各个功能模块的使用状况确定指定应用程序中各个功能模块的加载次序。需要注意的是,这里可以采用延时加载的方式,提高指定应用程序的启动速度,如B模块不常用,则可以延时20s再加载。对于一些极少用的功能模块,可以不加载,仅当用户点击该功能模块的指示标识后,再进行加载。
在获得指定应用程序中各个功能模块的加载次序之后,可以根据各个功能模块的加载次序生成启动加载信息。指定应用程序在获得更新后的启动加载信息后,可以依照用户习惯的操作方式依次加载相应的功能模块,大大提高了指定应用程序的加载速度。
步骤S31-S34中,获取所述指定应用程序的使用数据,以根据使用数据了解用户的操作习惯。根据所述使用数据统计所述指定应用程序中各个功能模块的使用状况,所述使用状况包括模块使用次序和/或模块使用次数,以从使用数据中提取出多项细分数据。根据所述各个功能模块的使用状况确定所述指定应用程序中各个功能模块的加载次序,以确定出更为合理的加载次序。根据所述各个功能模块的加载次序生成所述启动加载信息,以生成新的启动加载信息,在提高指定应用程序的启动速度的同时,减少用户习惯使用的功能模块的加载时间。
可选的,如图7所示,步骤S20之前,包括:
S21、获取所述客户端的配置信息;
S22、根据所述配置信息确定所述预设阈值。
本实施例中,客户端的配置信息可以指客户端的硬件配置,如CPU型号、内存型号、硬盘型号等。可以预先设置配置信息与预设阈值的对应关系,在获取到客户端的配置信息之后,根据对应关系确定客户端的预设阈值。配置较高(指CPU等硬件的性能较好)的客户端,其预设阈值较低;配置较低(指CPU等硬件的性能较差)的客户端,其预设阈值较高。
步骤S21-S22中,获取所述客户端的配置信息,以评估客户端的计算能力。根据所述配置信息确定所述预设阈值,以设置合适的判断阈值。
可选的,如图8所示,步骤S40之后,还包括:
S50、接收所述指定应用程序在下一次启动时根据所述启动加载信息启动程序的二次加载时间;
S60、判断所述二次加载时间是否大于所述预设阈值;
S70、若所述二次加载时间大于所述预设阈值,则向指定终端发送提醒信息。
本实施例中,可以接收指定应用程序在下一次启动时的二次加载时间(即启动时间)。若二次加载时间大于预设阈值,说明指定应用程序的启动速度较慢,还需要做进一步的调整。指定终端可以是指定应用程序的运营维护人员所使用的设备。向指定终端发送提醒信息,运营维护人员可以及时的查看到用户的设备状况,并查找出指定应用程序启动慢的原因,并提出相应的解决方案,以提高指定应用程序的启动速度。
步骤S50-S70中,接收所述指定应用程序在下一次启动时根据所述启动加载信息启动程序的二次加载时间,以获取指定应用程序在更新启动加载信息后的二次加载时间。判断所述二次加载时间是否大于所述预设阈值,以检测二次加载时间是否达标。若所述二次加载时间大于所述预设阈值,则向指定终端发送提醒信息,由于更新启动加载信息后的二次加载时间依然不达标,可以及时收集不达标的信息,以查找出指定应用程序启动慢的具体原因。
本发明实施例通过获取客户端上指定应用程序的启动加载时间;判断所述启动加载时间是否大于预设阈值;若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。本发明实施例提出的提高应用程序启动速度方法,减少了应用程序的启动时间,提高用户的使用体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种提高应用程序启动速度装置,该提高应用程序启动速度装置与上述实施例中提高应用程序启动速度方法一一对应。如图9所示,该提高应用程序启动速度装置包括获取加载时间模块10、时间判断模块20、匹配加载信息模块30和发送加载信息模块40。各功能模块详细说明如下:
获取加载时间模块10,用于获取客户端上指定应用程序的启动加载时间;
时间判断模块20,用于判断所述启动加载时间是否大于预设阈值;
匹配加载信息模块30,用于若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
发送加载信息模块40,用于将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
可选的,匹配加载信息模块30包括:
获取性能数据单元,用于获取所述客户端的性能数据;
获取功能模块单元,用于获取与所述性能数据匹配的功能模块;
第一生成单元,用于根据所述与所述性能数据匹配的功能模块生成所述启动加载信息。
可选的,匹配加载信息模块30还包括:
获取性能数据单元,用于获取所述客户端的性能数据;
输入模型单元,用于将所述性能数据输入预设的应用启动时间解析模型;
获取输出数据单元,用于获取所述预设的应用启动时间解析模型输出的输出数据;
第二生成单元,用于根据所述输出数据生成所述启动加载信息。
可选的,获取加载时间模块包括:
获取启动时间单元,用于获取所述指定应用程序的启动时间;
获取加载完成时间单元,用于获取所述指定应用程序加载完毕后的加载完成时间;
确定启动加载时间单元,用于将所述加载完成时间与所述启动时间的时间差确定为所述启动加载时间。
可选的,匹配加载信息模块30还包括:
获取使用数据单元,用于获取所述指定应用程序的使用数据;
提取信息单元,用于根据所述使用数据统计所述指定应用程序中各个功能模块的使用状况,所述使用状况包括模块使用次序和/或模块使用次数;
确定加载次序单元,用于根据所述各个功能模块的使用状况确定所述指定应用程序中各个功能模块的加载次序;
第三生成单元,用于根据所述各个功能模块的加载次序生成所述启动加载信息。
可选的,提高应用程序启动速度装置还包括:
获取配置信息模块,用于获取所述客户端的配置信息;
确定阈值模块,用于根据所述配置信息确定所述预设阈值。
可选的,提高应用程序启动速度装置还包括:
接收二次加载时间模块,用于接收所述指定应用程序在下一次启动时根据所述启动加载信息启动程序的二次加载时间;
二次加载时间判断模块,用于判断所述二次加载时间是否大于所述预设阈值;
提醒模块,用于若所述二次加载时间大于所述预设阈值,则向指定终端发送提醒信息。
关于提高应用程序启动速度装置的具体限定可以参见上文中对于提高应用程序启动速度方法的限定,在此不再赘述。上述提高应用程序启动速度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储提高应用程序启动速度方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种提高应用程序启动速度方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取客户端上指定应用程序的启动加载时间;
判断所述启动加载时间是否大于预设阈值;
若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取客户端上指定应用程序的启动加载时间;
判断所述启动加载时间是否大于预设阈值;
若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种提高应用程序启动速度方法,其特征在于,包括:
获取客户端上指定应用程序的启动加载时间;
判断所述启动加载时间是否大于预设阈值;
若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
2.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述获取与所述客户端匹配的启动加载信息,还包括:
获取所述客户端的性能数据;
获取与所述性能数据匹配的功能模块;
根据所述与所述性能数据匹配的功能模块生成所述启动加载信息。
3.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述获取与所述客户端匹配的启动加载信息,还包括:
获取所述客户端的性能数据;
将所述性能数据输入预设的应用启动时间解析模型;
获取所述预设的应用启动时间解析模型输出的输出数据;
根据所述输出数据生成所述启动加载信息。
4.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述获取客户端上指定应用程序的启动加载时间,包括:
获取所述指定应用程序的启动时间;
获取所述指定应用程序加载完毕后的加载完成时间;
将所述加载完成时间与所述启动时间的时间差确定为所述启动加载时间。
5.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述获取与所述客户端匹配的启动加载信息,还包括:
获取所述指定应用程序的使用数据;
根据所述使用数据统计所述指定应用程序中各个功能模块的使用状况,所述使用状况包括模块使用次序和/或模块使用次数;
根据所述各个功能模块的使用状况确定所述指定应用程序中各个功能模块的加载次序;
根据所述各个功能模块的加载次序生成所述启动加载信息。
6.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述判断所述启动加载时间是否大于预设阈值之前,包括:
获取所述客户端的配置信息;
根据所述配置信息确定所述预设阈值。
7.如权利要求1所述的提高应用程序启动速度方法,其特征在于,所述将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序之后,还包括:
接收所述指定应用程序在下一次启动时根据所述启动加载信息启动程序的二次加载时间;
判断所述二次加载时间是否大于所述预设阈值;
若所述二次加载时间大于所述预设阈值,则向指定终端发送提醒信息。
8.一种提高应用程序启动速度装置,其特征在于,包括:
获取加载时间模块,用于获取客户端上指定应用程序的启动加载时间;
时间判断模块,用于判断所述启动加载时间是否大于预设阈值;
匹配加载信息模块,用于若所述启动加载时间大于预设阈值,则获取与所述客户端匹配的启动加载信息,所述启动加载信息用于配置所述指定应用程序在启动时需要运行的功能模块,所述指定应用程序包括至少两个的功能模块;
发送加载信息模块,用于将所述启动加载信息发送至所述客户端进行存储,以使所述指定应用程序在下一次启动时根据已存储在所述客户端的所述启动加载信息启动程序。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述提高应用程序启动速度方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述提高应用程序启动速度方法。
CN201910754712.5A 2019-08-15 2019-08-15 提高应用程序启动速度方法、装置、设备及存储介质 Pending CN110688168A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910754712.5A CN110688168A (zh) 2019-08-15 2019-08-15 提高应用程序启动速度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910754712.5A CN110688168A (zh) 2019-08-15 2019-08-15 提高应用程序启动速度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN110688168A true CN110688168A (zh) 2020-01-14

Family

ID=69108277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910754712.5A Pending CN110688168A (zh) 2019-08-15 2019-08-15 提高应用程序启动速度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110688168A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580882A (zh) * 2020-04-30 2020-08-25 中国工商银行股份有限公司 应用程序启动方法、装置、计算机系统和介质
CN111666113A (zh) * 2020-04-24 2020-09-15 北京奇艺世纪科技有限公司 一种应用程序启动管理方法、装置、电子设备及存储介质
CN112083928A (zh) * 2020-08-31 2020-12-15 广州新视展投资咨询有限公司 应用程序安装包的构建方法、应用程序运行方法及装置
CN113986388A (zh) * 2021-10-28 2022-01-28 上海米哈游璃月科技有限公司 程序集加载方法、系统、电子设备及存储介质
CN114185627A (zh) * 2021-10-22 2022-03-15 北京健康之家科技有限公司 程序启动反馈方法、装置、终端设备、服务器及存储介质
CN115048155A (zh) * 2022-08-11 2022-09-13 成都智暄科技有限责任公司 加载动态库的方法及系统、计算机可读存储介质及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298532A (zh) * 2011-09-15 2011-12-28 奇智软件(北京)有限公司 一种基于启动项的管理方法及装置
CN104572197A (zh) * 2014-12-31 2015-04-29 北京奇虎科技有限公司 一种启动项的处理方法和装置
CN110099166A (zh) * 2019-04-01 2019-08-06 努比亚技术有限公司 应用启动方法、终端及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298532A (zh) * 2011-09-15 2011-12-28 奇智软件(北京)有限公司 一种基于启动项的管理方法及装置
CN104572197A (zh) * 2014-12-31 2015-04-29 北京奇虎科技有限公司 一种启动项的处理方法和装置
CN110099166A (zh) * 2019-04-01 2019-08-06 努比亚技术有限公司 应用启动方法、终端及计算机可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666113A (zh) * 2020-04-24 2020-09-15 北京奇艺世纪科技有限公司 一种应用程序启动管理方法、装置、电子设备及存储介质
CN111580882A (zh) * 2020-04-30 2020-08-25 中国工商银行股份有限公司 应用程序启动方法、装置、计算机系统和介质
CN111580882B (zh) * 2020-04-30 2024-03-15 中国工商银行股份有限公司 应用程序启动方法、装置、计算机系统和介质
CN112083928A (zh) * 2020-08-31 2020-12-15 广州新视展投资咨询有限公司 应用程序安装包的构建方法、应用程序运行方法及装置
CN114185627A (zh) * 2021-10-22 2022-03-15 北京健康之家科技有限公司 程序启动反馈方法、装置、终端设备、服务器及存储介质
CN113986388A (zh) * 2021-10-28 2022-01-28 上海米哈游璃月科技有限公司 程序集加载方法、系统、电子设备及存储介质
CN113986388B (zh) * 2021-10-28 2024-03-29 上海米哈游璃月科技有限公司 程序集加载方法、系统、电子设备及存储介质
CN115048155A (zh) * 2022-08-11 2022-09-13 成都智暄科技有限责任公司 加载动态库的方法及系统、计算机可读存储介质及装置
CN115048155B (zh) * 2022-08-11 2022-11-15 成都智暄科技有限责任公司 加载动态库的方法及系统、计算机可读存储介质及装置

Similar Documents

Publication Publication Date Title
CN110688168A (zh) 提高应用程序启动速度方法、装置、设备及存储介质
CN108829581B (zh) 应用程序测试方法、装置、计算机设备及存储介质
CN110941424B (zh) 编译参数优化方法、装置及电子设备
CN107678972B (zh) 一种测试用例的评估方法及相关装置
CN109408261B (zh) 应用程序崩溃处理方法、装置、计算机设备和存储介质
CN107621963B (zh) 一种软件部署方法、软件部署系统及电子设备
CN107145446B (zh) 一种应用程序app的测试方法、装置和介质
CN113505272B (zh) 基于行为习惯的控制方法和装置、电子设备和存储介质
CN110830234A (zh) 一种用户流量分配方法及装置
CN108446224B (zh) 移动端上应用程序的性能分析方法、存储介质
CN113127314A (zh) 一种检测程序性能瓶颈的方法、装置及计算机设备
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN109388552B (zh) 启动应用程序的时长的确定方法、装置及存储介质
CN114416451A (zh) 服务器测试方法、装置、计算机设备和存储介质
CN108595323B (zh) 一种系统测试方法及相关装置
CN111147441A (zh) 网络购票的舞弊行为自动检测方法、设备及可读存储介质
CN108563578A (zh) Sdk兼容性检测方法、装置、设备及可读存储介质
CN113127369A (zh) 一种执行脚本的处理方法以及装置
KR101582420B1 (ko) 실행 모듈의 무결성 체크 방법 및 장치
CN113902458A (zh) 一种恶意用户的识别方法、装置及计算机设备
CN111176965B (zh) 推荐系统预发布测试方法、装置及电子设备
CN116340127A (zh) 一种接口测试方法、装置
CN111143644B (zh) 物联网设备的识别方法及装置
CN113434839A (zh) 前端页面的访问方法和装置、存储介质及电子装置
CN108415822B (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