应用启动方法、装置及计算机可读存储介质与流程

文档序号:14056917阅读:142来源:国知局
应用启动方法、装置及计算机可读存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种应用启动方法、装置及计算机可读存储介质。



背景技术:

随着应用程序的不断增多,应用程序的启动速度已成为用户评价应用程序的一个重要标准。应用程序启动时,应用程序的相应业务模块将启动并执行数据初始化、读写数据库和加载数据资源等操作,这些业务模块的启动和执行时间都是应用程序启动时间的一部分。

而在目前软件应用开发的过程中,为了提高开发的速度,往往在编程时多处使用重复冗余代码,导致代码耦合严重;代码高耦合将会严重影响应用的性能,由于代码高耦合降低了不同模块之间的独立性,在启动逻辑和业务逻辑之间增加了不必要的联系,使得在应用启动常常会并发启动一些不需要执行任务的业务模块,从而增加了整个应用的运行量,导致整个应用在启动时需要较长时间,降低了用户的体验;而代码高耦合还导致了应用逻辑混乱,为相关人员的维护和优化工作造成不便,增加了相关人员的工作量。



技术实现要素:

本发明的主要目的在于提出一种应用启动方法、装置及计算机可读存储介质,旨在解决逻辑代码耦合严重所导致的应用启动速度慢和维护不方便的问题。

为实现上述目的,本发明提供一种应用启动方法,所述应用启动方法包括以下步骤:

根据预设细分规则将应用中业务模块的逻辑代码细分成若干段单步操作逻辑代码;

根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,获得启动模块;

在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。

优选的,所述在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用的步骤包括:

在接收到应用启动指令时,通过所述预设控制模块控制所述启动模块中的启动逻辑代码以预设运行机制运行,以启动所述应用。

优选的,所述在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用的步骤之后,还包括:

通过所述预设控制模块获取所述启动模块的运行信息,并将所述运行信息上传至服务器。

优选的,所述在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用的步骤之后,还包括:

在所述应用启动完成时,停止运行所述预设控制模块。

优选的,所述在接收到应用启动指令时,通过预设控制模块调度运行所述启动模块,以启动所述应用的步骤之后,还包括:

在接收到任务执行指令时,运行对应的业务模块。

此外,为实现上述目的,本发明还提供一种应用启动装置,所述应用启动装置装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的应用启动程序,其中所述应用启动程序被所述处理器执行时实现以下步骤:

根据预设细分规则将应用中业务模块的逻辑代码细分成若干段单步操作逻辑代码;

根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,获得启动模块;

在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。

优选的,所述应用启动程序被所述处理器执行时,还实现以下步骤:

在接收到应用启动指令时,通过所述预设控制模块控制所述启动模块中的启动逻辑代码以预设运行机制运行,以启动所述应用。

优选的,所述应用启动程序被所述处理器执行时,还实现以下步骤:

通过所述预设控制模块获取所述启动模块的运行信息,并将所述运行信息上传至服务器;

在所述应用启动完成时,停止运行所述预设控制模块。

优选的,所述应用启动程序被所述处理器执行时,还实现以下步骤:

在接收到任务执行指令时,运行对应的业务模块。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用启动程序,所述应用启动程序被处理器执行时实现如上述的应用启动方法的步骤。

本发明通过根据预设细分规则将应用中业务模块的逻辑代码细分成若干单步操作逻辑代码;根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,形成启动模块;在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。通过以上方式,本发明提出将应用程序的逻辑代码进行原子化拆分,并根据启动需求进行模块组装,控制执行的优先级,通过自动运行的预设控制模块统一调度运行,结合多种运行机制,提高了应用的启动速度,缩短启动耗时,提高了用户的体验;同时实现了启动逻辑与业务逻辑解耦,有利于整体把控应用运行机制,方便相关人员进行维护和优化。

附图说明

图1为本发明实施例方案中的应用运行终端的结构示意图;

图2为本发明应用启动方法第一实施例的流程示意图;

图3为本发明应用启动方法第二实施例的流程示意图;

图4为本发明应用启动方法第三实施例的流程示意图;

图5为本发明应用启动方法第四实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例方案的主要思路是:根据预设拆分规则将应用中业务模块的逻辑代码拆分成单步操作逻辑代码;根据所述应用的启动需求将所述单步操作逻辑代码进行模块组装,获得启动模块;在接收到应用启动指令时,通过预设控制模块控制运行所述启动模块,以启动所述应用。

参照图1,图1为本发明实施例方案中的应用运行终端的结构示意图。

本发明实施例中的应用是在终端中运行的。该终端可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。如图1所述,该终端可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,该终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对应用运行环境的限定,应用运行的终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005可以包括操作系统、用户接口模块、网络通信模块以及应用启动程序。

在图1所示的终端中,网络通信模块主要用于连接后台服务器,与后台服务器进行数据通信;用户接口模块主要用于控制网络接口1003的各设备;而处理器1001可以用于调用存储器1005中存储的应用启动程序,并执行以下操作:

根据预设细分规则将应用中业务模块的逻辑代码细分成单步操作逻辑代码;

根据所述应用的启动需求将所述单步操作逻辑代码进行模块组装,形成启动模块;

在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。

处理器1001还可以用于调用存储器1005中存储的应用启动程序,并执行以下操作:

在接收到应用启动指令时,通过所述预设控制模块控制所述启动模块中的启动逻辑代码以预设运行机制运行,以启动所述应用。

处理器1001还可以用于调用存储器1005中存储的应用启动程序,并执行以下操作:

通过所述预设控制模块获取启动模块的运行信息,并将所述运行信息上传至服务器;

在所述应用启动完成时,停止运行所述预设控制模块。

处理器1001还可以用于调用存储器1005中存储的应用启动程序,并执行以下操作:

在接收到任务执行指令时,运行对应的业务模块。

基于上述硬件结构,提出本发明应用启动方法实施例。

参照图2,图2为本发明应用启动方法第一实施例的流程示意图。

本实施例中,所述应用启动方法包括以下步骤:

步骤s10,根据预设细分规则将应用中业务模块的逻辑代码细分成若干单步操作逻辑代码。

现有技术中,为了提高开发的速度,往往会在不同的业务模块重复使用同一逻辑代码,导致代码耦合严重;而代码高耦合将会严重影响应用的性能,由于代码高耦合,降低了不同模块之间的独立性,在启动逻辑和业务逻辑之间增加了不必要的联系,使得在应用启动常常会并发启动一些不需要执行任务的业务模块,从而增加了整个应用的运行量,导致整个应用在启动时需要花费较长时间,降低了用户的体验;代码高耦合还导致了应用整体的逻辑混乱,为相关人员的维护和优化工作造成不便,增加了相关人员的工作量。基于上述情况,本实施例提出将应用程序的逻辑代码进行原子化拆分,即将整块逻辑代码分成若干的单步操作逻辑代码,其中每一段代表一个单步操作(原子操作),这个单步操作在完成前不可被中断或调用(例如,处理器从数据库中读取一个字节,这个操作属于单步操作,这个操作在完成时是不能被中断的,其它处理器不能访问这个字节);在拆分完成时,根据启动需求在若干段拆分代码中挑选出启动必须的代码,将其进行模块组装,形成一个“纯净”的启动模块,该启动模块与其它业务模块之间仅具有必要的依赖关系,从而控制应用启动时执行的优先级,在应用启动时仅执行基本、必须的启动动作;同时该启动模块是通过自动运行的预设控制模块统一调度运行,结合多种运行机制,提高了应用的启动速度,缩短启动耗时,提高了用户的体验;同时实现了启动逻辑与业务逻辑解耦,有利于整体把控应用运行机制,方便相关人员进行维护和优化。

本实施例中,为了实现逻辑解耦,首先相关人员将对终端中的应用程序中各业务模块的逻辑代码进行分析,明确各部分逻辑代码所代表的含义;在明确代码的含义之后,将根据代码含义及对应代码的内存地址设置预设细分规则,并将预设细分规则写入终端。其中预设细分规则确定了哪些步骤是单步操作,终端根据该预设细分规则可以确定每个业务模块的代码可分成多少段单步操作逻辑代码,每一段单步操作逻辑代码的内存起始点在什么位置。根据该预设细分规则,终端可对逻辑代码进行原子化细分,形成若干段单步操作逻辑代码。其中每一段单步操作逻辑代码,代表一个单步操作过程,这个单步操作过程只有一个动作,在这个动作完成前该单步操作过程不可被中断的;当然单步操作逻辑代码还可以是代表一个单步系列操作过程,这个单步系列操作过程包括两个以上动作,在这些动作完成前该单步系列操作过程不可被中断的。换而言之,单步操作逻辑代码,代表了一个或一系列不可被中断的单步操作,例如,某个处理器从数据库中读取一个字节,这个操作属于单步操作,这个操作在完成时是不能被中断的,处理其它任务的其它处理器不能访问这个字节。

步骤s20,根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,获得启动模块。

本实施例中,通过将各业务模块逻辑代码原子化细分,得到了若干段不可中断操作的单步操作逻辑代码。此时,根据应用的启动需求,在若干段单步操作逻辑代码中,抽取出应用启动所需单步操作逻辑代码,将其进行组合,形成启动逻辑代码,即启动模块。例如,应用中各业务模块的逻辑代码细分后,得到a、b、c、d四个单步操作逻辑代码,其中分别各自代表一个不可被中断的操作动作;而应用启动时,其基本功能只需要执行a、c单步操作逻辑代码所代表的操作动作即可实现,此时会将a、c两个单步操作逻辑代码抽出并组合,形成应用的启动模块。结合步骤s10和s20,其主要思路为将逻辑代码原子化细分,将各业务模块的逻辑代码全部打散,再重新进行组合,形成一个“纯净”的启动模块,该启动模块与其它业务模块之间仅具有必要的依赖关系,在应用启动时直接运行该启动模块,减少其它模块的运行量和操作数,缩短启动耗时。

步骤s30,在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。

本实施例中,终端中还设置有预设控制模块,在用户在点击运行该应用时,将触发应用启动指令。此时终端将启动运行该预设控制模块,通过该预设控制模块调度运行启动模块。预设控制模块用于控制启动模块运行,由于启动模块的逻辑代码原为各业务模块的逻辑代码中的一部分,而各业务模块之间的关系较为复杂,如果直接用一种“跳跃运行”的方式运行位于各业务模块中的启动模块的逻辑代码,容易会出现运行顺序错误等问题。因此本实施例中通过专门的预设控制模块来控制启动模块运行,保证启动模块的逻辑代码运行顺序正确,从而执行正确的操作步骤,避免运行出错。其中预设控制模块可以是这样实现的:根据终端系统的类型(包括ios系统、android系统等)对应用的代码进行定制,在应用原有的业务模块之外添加一个预设控制模块,该模块不改变应用原有各业务模块的业务功能和实现方法,仅是在应用启动时对各业务模块的调用接口进行拦截,并由该预设控制模块决定应用各部分代码的运行顺序(即控制应用启动时各部分的执行优先级);在应用启动完成时,再解除调用拦截,通过系统原有标准接口将位置信息返回各业务模块,通过正常方式对各业务模块进行调用。而对于通过预设控制模块控制启动模块的实现,则是在步骤s20中进行启动模块组装时,会根据组装的情况获得一个启动逻辑代码的运行顺序,并生成对应的顺序数据(文件);在应用启动时,预设控制模块将根据这个顺序数据控制运行各段启动代码,从而执行正确的启动操作步骤。同时,预设控制模块还可以跟踪启动模块的执行流程,即在运行启动逻辑代码时,预设控制模块会获取此时该启动逻辑代码的所在内存地址信息、以及这段代码所属业务模块信息,从而确定当前是运行哪一部分的代码;通过预设控制模块,可以通过上述方法获取启动模块的运行信息,在出现运行错误时,可以根据运行信息找到错误模块,并根据这模块的代码分析出原因,及时解决应用的启动问题,从而使得相关人员在进行维护和优化时无需遍历各个业务模块的逻辑代码,减小了工作量,方便人员进行维护。

进一步的,启动模块中的启动逻辑代码包括多个单步操作逻辑代码,即应用的启动过程需要执行多个动作,而其中有动作是可以同时进行的,因此通过预设控制模块可控制启动模块中的启动逻辑代码以预设运行机制运行,可提高运行速度,从而缩短应用的启动时间。具体的,预设运行机制可以包括串行运行、并行运行、同步运行、异步运行、懒加载、预加载等多种机制,当然各种机制可以结合使用。例如a、b、c、d四个动作,其中a和b是串行运行,c和d可并行运行,则a和b按顺序执行,a完成进行b,b完成时同时执行c和d,通过调整运行顺序,提高启动速度;又例如,对于应用主页包括文字内容和视频内容,其中对于文字内容可以是优先加载,而视频内容部分在应用启动时可暂不加载,在启动完成时或者用户点击播放时再进行加载,即对不同内容采取不同的加载方式,提高应用的启动速度,缩短应用的启动时间。

本实施例中,通过根据预设细分规则将应用中业务模块的逻辑代码细分成若干单步操作逻辑代码;根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,形成启动模块;在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。通过以上方式,本实施例提出将应用程序的逻辑代码进行原子化拆分,并根据启动需求进行模块组装,控制执行的优先级,通过自动运行的预设控制模块统一调度运行,结合多种运行机制,提高了应用的启动速度,缩短启动耗时,提高了用户的体验;同时实现了启动逻辑与业务逻辑解耦,有利于整体把控应用运行机制,方便相关人员进行维护和优化。

参照图3,图3为本发明应用启动方法第二实施例的流程示意图。

基于上述图2所示实施例,步骤s30之后,还包括:

步骤s40,通过所述预设控制模块获取所述启动模块的运行信息,并将所述运行信息上传至服务器。

本实施例中,通过预设控制模块,可以跟踪启动模块执行流程,获取启动模块运行过程中的运行信息;在得到该运行信息时,将该运行信息上传至服务器,工作人员可根据该运行信息分析应用的启动问题,并进行针对性的优化和改进;在出现运行错误时,还可以根据运行情况找到错误原因,及时解决应用的启动问题,无需遍历各个业务模块的逻辑代码,减小了工作量,方便人员进行维护。

参照图4,图4为本发明应用启动方法第三实施例的流程示意图。

基于上述图2所示实施例,步骤s30之后,还包括:

步骤s50,在所述应用启动完成时,停止运行所述预设控制模块。

本实施例中,预设控制模块主要用于控制运行启动模块,因此在应用启动完成时,该预设控制模块将自动停止运行并,并关闭相关的运行线程,以节约系统资源,提高应用的响应速度,提高用户的体验。

参照图5,图5为本发明应用启动方法第四实施例的流程示意图。

基于上述图2所示实施例,步骤s30之后,还包括:

步骤s60,在接收到任务执行指令时,运行对应的业务模块。

本实施例中,在启动模块运行完成时,应用启动完毕,此时终端显示区域将显示应用的主页面。用户在应用的主页面点击某个区域时,将触发对应的任务执行指令;终端在接收到该任务执行指令时,将根据该任务执行指令运行对应的业务模块,以执行相应的任务。

进一步的,还可以统计各业务模块的运行次数和运行情况,从而分析获取用户的使用习惯信息,将用户经常使用的业务模块标记为高频业务模块。在获取到高频业务模块之后,可将高频业务模块的业务逻辑代码添加到启动模块中,在应用启动时,将该高频业务模块的业务逻辑代码一起启动;在启动完成时,由于高频业务模块已处于运行状态,因此可更快速的对用户的任务执行指令做出响应,提高用户体验。

本实施例中,在应用启动时仅启动运行启动模块,不涉及业务模块;在应用启动完成时,再根据用户的操作运行对应的业务模块来执行任务,提高了应用的启动速度,同时由于启动时未运行不必要的模块,而是根据用户的操作进程来运行对应业务模块,提高了应用的响应速度,节约了系统资源。

本发明还提供一种应用启动装置装置。

继续参照图2,所述应用启动装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的应用启动程序,其中所述应用启动程序被所述处理器执行时实现以下步骤:

步骤s10,根据预设细分规则将应用中业务模块的逻辑代码细分成若干单步操作逻辑代码。

现有技术中,为了提高开发的速度,往往会在不同的业务模块重复使用同一逻辑代码,导致代码耦合严重;而代码高耦合将会严重影响应用的性能,由于代码高耦合,降低了不同模块之间的独立性,在启动逻辑和业务逻辑之间增加了不必要的联系,使得在应用启动常常会并发启动一些不需要执行任务的业务模块,从而增加了整个应用的运行量,导致整个应用在启动时需要花费较长时间,降低了用户的体验;代码高耦合还导致了应用整体的逻辑混乱,为相关人员的维护和优化工作造成不便,增加了相关人员的工作量。基于上述情况,本实施例提出将应用程序的逻辑代码进行原子化拆分,即将整块逻辑代码分成若干的单步操作逻辑代码,其中每一段代表一个单步操作(原子操作),这个单步操作在完成前不可被中断或调用(例如,处理器从数据库中读取一个字节,这个操作属于单步操作,这个操作在完成时是不能被中断的,其它处理器不能访问这个字节);在拆分完成时,根据启动需求在若干段拆分代码中挑选出启动必须的代码,将其进行模块组装,形成一个“纯净”的启动模块,该启动模块与其它业务模块之间仅具有必要的依赖关系,从而控制应用启动时执行的优先级,在应用启动时仅执行基本、必须的启动动作;同时该启动模块是通过自动运行的预设控制模块统一调度运行,结合多种运行机制,提高了应用的启动速度,缩短启动耗时,提高了用户的体验;同时实现了启动逻辑与业务逻辑解耦,有利于整体把控应用运行机制,方便相关人员进行维护和优化。

本实施例中,为了实现逻辑解耦,首先相关人员将对终端中的应用程序中各业务模块的逻辑代码进行分析,明确各部分逻辑代码所代表的含义;在明确代码的含义之后,将根据代码含义及对应代码的内存地址设置预设细分规则,并将预设细分规则写入终端。其中预设细分规则确定了哪些步骤是单步操作,终端根据该预设细分规则可以确定每个业务模块的代码可分成多少段单步操作逻辑代码,每一段单步操作逻辑代码的内存起始点在什么位置。根据该预设细分规则,终端可对逻辑代码进行原子化细分,形成若干段单步操作逻辑代码。其中每一段单步操作逻辑代码,代表一个单步操作过程,这个单步操作过程只有一个动作,在这个动作完成前该单步操作过程不可被中断的;当然单步操作逻辑代码还可以是代表一个单步系列操作过程,这个单步系列操作过程包括两个以上动作,在这些动作完成前该单步系列操作过程不可被中断的。换而言之,单步操作逻辑代码,代表了一个或一系列不可被中断的单步操作,例如,某个处理器从数据库中读取一个字节,这个操作属于单步操作,这个操作在完成时是不能被中断的,处理其它任务的其它处理器不能访问这个字节。

步骤s20,根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,获得启动模块。

本实施例中,通过将各业务模块逻辑代码原子化细分,得到了若干段不可中断操作的单步操作逻辑代码。此时,根据应用的启动需求,在若干段单步操作逻辑代码中,抽取出应用启动所需单步操作逻辑代码,将其进行组合,形成启动逻辑代码,即启动模块。例如,应用中各业务模块的逻辑代码细分后,得到a、b、c、d四个单步操作逻辑代码,其中分别各自代表一个不可被中断的操作动作;而应用启动时,其基本功能只需要执行a、c单步操作逻辑代码所代表的操作动作即可实现,此时会将a、c两个单步操作逻辑代码抽出并组合,形成应用的启动模块。结合步骤s10和s20,其主要思路为将逻辑代码原子化细分,将各业务模块的逻辑代码全部打散,再重新进行组合,形成一个“纯净”的启动模块,该启动模块与其它业务模块之间仅具有必要的依赖关系,在应用启动时直接运行该启动模块,减少其它模块的运行量和操作数,缩短启动耗时。

步骤s30,在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。

本实施例中,终端中还设置有预设控制模块,在用户在点击运行该应用时,将触发应用启动指令。此时终端将启动运行该预设控制模块,通过该预设控制模块调度运行启动模块。预设控制模块用于控制启动模块运行,由于启动模块的逻辑代码原为各业务模块的逻辑代码中的一部分,而各业务模块之间的关系较为复杂,如果直接用一种“跳跃运行”的方式运行位于各业务模块中的启动模块的逻辑代码,容易会出现运行顺序错误等问题。因此本实施例中通过专门的预设控制模块来控制启动模块运行,保证启动模块的逻辑代码运行顺序正确,从而执行正确的操作步骤,避免运行出错。其中预设控制模块可以是这样实现的:根据终端系统的类型(包括ios系统、android系统等)对应用的代码进行定制,在应用原有的业务模块之外添加一个预设控制模块,该模块不改变应用原有各业务模块的业务功能和实现方法,仅是在应用启动时对各业务模块的调用接口进行拦截,并由该预设控制模块决定应用各部分代码的运行顺序(即控制应用启动时各部分的执行优先级);在应用启动完成时,再解除调用拦截,通过系统原有标准接口将位置信息返回各业务模块,通过正常方式对各业务模块进行调用。而对于通过预设控制模块控制启动模块的实现,则是在步骤s20中进行启动模块组装时,会根据组装的情况获得一个启动逻辑代码的运行顺序,并生成对应的顺序数据(文件);在应用启动时,预设控制模块将根据这个顺序数据控制运行各段启动代码,从而执行正确的启动操作步骤。同时,预设控制模块还可以跟踪启动模块的执行流程,即在运行启动逻辑代码时,预设控制模块会获取此时该启动逻辑代码的所在内存地址信息、以及这段代码所属业务模块信息,从而确定当前是运行哪一部分的代码;通过预设控制模块,可以通过上述方法获取启动模块的运行信息,在出现运行错误时,可以根据运行信息找到错误模块,并根据这模块的代码分析出原因,及时解决应用的启动问题,从而使得相关人员在进行维护和优化时无需遍历各个业务模块的逻辑代码,减小了工作量,方便人员进行维护。

进一步的,启动模块中的启动逻辑代码包括多个单步操作逻辑代码,即应用的启动过程需要执行多个动作,而其中有动作是可以同时进行的,因此通过预设控制模块可控制启动模块中的启动逻辑代码以预设运行机制运行,可提高运行速度,从而缩短应用的启动时间。具体的,预设运行机制可以包括串行运行、并行运行、同步运行、异步运行、懒加载、预加载等多种机制,当然各种机制可以结合使用。例如a、b、c、d四个动作,其中a和b是串行运行,c和d可并行运行,则a和b按顺序执行,a完成进行b,b完成时同时执行c和d,通过调整运行顺序,提高启动速度;又例如,对于应用主页包括文字内容和视频内容,其中对于文字内容可以是优先加载,而视频内容部分在应用启动时可暂不加载,在启动完成时或者用户点击播放时再进行加载,即对不同内容采取不同的加载方式,提高应用的启动速度,缩短应用的启动时间。

本实施例中,通过根据预设细分规则将应用中业务模块的逻辑代码细分成若干单步操作逻辑代码;根据所述应用的启动需求将启动所需的单步操作逻辑代码进行模块组装,形成启动模块;在接收到应用启动指令时,通过预设控制模块控制所述启动模块运行,以启动所述应用。通过以上方式,本实施例提出将应用程序的逻辑代码进行原子化拆分,并根据启动需求进行模块组装,控制执行的优先级,通过自动运行的预设控制模块统一调度运行,结合多种运行机制,提高了应用的启动速度,缩短启动耗时,提高了用户的体验;同时实现了启动逻辑与业务逻辑解耦,有利于整体把控应用运行机制,方便相关人员进行维护和优化。

继续参照图3,所述应用启动程序被所述处理器执行时,还实现以下步骤:

步骤s40,通过所述预设控制模块获取所述启动模块的运行信息,并将所述运行信息上传至服务器。

本实施例中,通过预设控制模块,可以跟踪启动模块执行流程,获取启动模块运行过程中的运行信息;在得到该运行信息时,将该运行信息上传至服务器,工作人员可根据该运行信息分析应用的启动问题,并进行针对性的优化和改进;在出现运行错误时,还可以根据运行情况找到错误原因,及时解决应用的启动问题,无需遍历各个业务模块的逻辑代码,减小了工作量,方便人员进行维护。

继续参照图4,所述应用启动程序被所述处理器执行时,还实现以下步骤:

步骤s50,在所述应用启动完成时,停止运行所述预设控制模块。

本实施例中,预设控制模块主要用于控制运行启动模块,因此在应用启动完成时,该预设控制模块将自动停止运行,并关闭相关的运行线程,以节约系统资源,提高应用的响应速度,提高用户的体验。

继续参照图5,所述应用启动程序被所述处理器执行时,还实现以下步骤:

步骤s60,在接收到任务执行指令时,运行对应的业务模块。

本实施例中,在启动模块运行完成时,应用启动完毕,此时终端显示区域将显示应用的主页面。用户在应用的主页面点击某个区域时,将触发对应的任务执行指令;终端在接收到该任务执行指令时,将根据该任务执行指令运行对应的业务模块,以执行相应的任务。

进一步的,还可以统计各业务模块的运行次数和运行情况,从而分析获取用户的使用习惯信息,将用户经常使用的业务模块标记为高频业务模块。在获取到高频业务模块之后,可将高频业务模块的业务逻辑代码添加到启动模块中,在应用启动时,将该高频业务模块的业务逻辑代码一起启动;在启动完成时,由于高频业务模块已处于运行状态,因此可更快速的对用户的任务执行指令做出响应,提高用户体验。

本实施例中,在应用启动时仅启动运行启动模块,不涉及业务模块;在应用启动完成时,再根据用户的操作运行对应的业务模块来执行任务,提高了应用的启动速度,同时由于启动时未运行不必要的模块,而是根据用户的操作进程来运行对应业务模块,提高了应用的响应速度,节约了系统资源。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有应用启动程序,所述应用启动程序被处理器执行时实现如上述应用启动方法的步骤。

其中,应用启动程序被处理器执行时所实现步骤的实施例可参照本发明应用启动方法、应用启动装置的各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1