应用程序热更新的控制方法、装置、存储介质及移动终端制造方法及图纸

技术编号:18657763 阅读:21 留言:0更新日期:2018-08-11 14:20
本申请实施例公开了一种应用程序热更新的控制方法、装置、存储介质及移动终端。该方法包括监听预设应用程序的热更新需求;在终端处于第一状态且预设应用程序需要进行热更新编译处理时,启动预设服务,并通过所述预设服务在后台执行热更新编译操作,其中,所述第一状态包括熄屏状态;若在执行所述热更新编译操作期间获取到所述终端的状态变为第二状态,则暂停执行所述热更新编译操作,并记录执行进度,其中,所述第二状态包括唤醒状态或使用状态。采用上述技术方案,可以在应用程序启动之前进行热更新编译,避免在应用程序启动过程中执行热更新编译而发生卡顿问题,提升应用程序的启动速度。

Control method, device, storage medium and mobile terminal for application hot update

The embodiment of the application discloses a control method, a device, a storage medium and a mobile terminal for hot update of an application program. The method includes listening for the hot update requirement of the preset application, starting the preset service when the terminal is in the first state and the preset application needs hot update compilation processing, and performing the hot update compilation operation in the background through the preset service, wherein the first state includes the off-screen state; and if the preset application needs hot update compilation processing in the execution place When the state acquired by the terminal during the hot update compilation operation becomes a second state, the hot update compilation operation is suspended and the execution progress is recorded, wherein the second state includes a wake-up state or a use state. By adopting the above technical scheme, the hot update compilation can be carried out before the application starts up, so as to avoid the problem of jamming caused by the hot update compilation during the application start-up process and improve the application start-up speed.

【技术实现步骤摘要】
应用程序热更新的控制方法、装置、存储介质及移动终端
本申请实施例涉及移动终端技术,尤其涉及一种应用程序热更新的控制方法、装置、存储介质及移动终端。
技术介绍
随着安卓(Android)平台移动端业务复杂性程度的增加,传统的通过在软件商店发布版本更新的应用更新方案已经不能满足业务及开发者的需求。为了解决上述问题,相关技术中出现了热更新技术,即一种快速、低成本修复应用程序(Application,简称App)版本缺陷的方式,其不依赖于应用程序的版本更新来对应用程序的漏洞进行修复。相比于升级应用程序的版本,热更新的主要优势是不会使应用程序当前正在运行的业务中断,即可以在不重新发布迭代版本的基础上来对当前的应用程序版本的缺陷进行修复。然而,相关技术中的热更新流程缺少统一有效的管理流程及规范,由于部分第三方应用频繁滥用容易导致终端发热、卡顿等影响移动终端性能的问题出现。
技术实现思路
本申请实施例提供一种应用程序热更新的控制方法、装置、存储介质及移动终端,可以优化相关技术中的应用程序热更新的控制方案。第一方面,本申请实施例提供了一种应用程序热更新的控制方法,包括:监听预设应用程序的热更新需求;在终端处于第一状态且预设应用程序需要进行热更新编译处理时,启动预设服务,并通过所述预设服务在后台执行热更新编译操作,其中,所述第一状态包括熄屏状态;若在执行所述热更新编译操作期间获取到所述终端的状态变为第二状态,则暂停执行所述热更新编译操作,并记录执行进度,其中,所述第二状态包括唤醒状态或使用状态。第二方面,本申请实施例还提供了一种应用程序热更新的控制装置,该装置包括:需求监听模块,用于监听预设应用程序的热更新需求;应用热更新模块,用于在终端处于第一状态且预设应用程序需要进行热更新编译处理时,启动预设服务,并通过所述预设服务在后台执行热更新编译操作,其中,所述第一状态包括熄屏状态;操作暂停模块,用于若在执行所述热更新编译操作期间获取到所述终端的状态变为第二状态,则暂停执行所述热更新编译操作,并记录执行进度,其中,所述第二状态包括唤醒状态或使用状态。第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的应用程序热更新的控制方法。第四方面,本申请实施例还提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的应用程序热更新的控制方法。本申请实施例提供一种应用程序热更新的控制方案,通过监听预设应用程序的热更新需求;在终端处于第一状态且预设应用程序需要进行热更新编译处理时,通过预设服务在后台执行针对预设应用程序的热更新编译操作;若在执行热更新编译操作期间,检测到终端的状态变为第二状态,则暂停该热更新编译操作,并记录执行进度。采用上述技术方案,可以在应用程序启动之前进行热更新编译,避免在应用程序启动过程中执行热更新编译而发生卡顿问题,提升应用程序的启动速度。此外,在熄屏状态下进行热更新编译,可以避免热更新编译进程与用户正常使用的应用进程并行执行,导致处理效率降低或发热的问题。附图说明图1是本申请实施例提供的一种应用程序热更新的控制方法的流程图;图2是本申请实施例提供的另一种应用程序热更新的控制方法的流程图;图3是本申请实施例提供的又一种应用程序热更新的控制方法的流程图;图4是本申请实施例提供的一种应用程序热更新的控制装置;图5是本申请实施例提供的一种移动终端的结构示意图;图6是本申请实施例提供的一种智能手机的结构框图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。需要说明的是,热更新技术(又成为热修复技术),是应用程序通过动态下载代码以修复应用问题或者退出新功能的技术。例如,在启动App时,询问服务器是否需要热更新,如果需要则先下载并加载热更新文件,然后再运行App。采用热更新技术具有如下优点:1)传统方案中,第三方应用的发布需要经过软件商店层层审核,导致发布周期较长,通过热更新技术可以解决该问题,从而快速修复软件漏洞;2)第三方应用通过动态下载热更新代码,向用户快速推送新功能,免去安装升级环节;3)降低发布安卓安装包(AndroidPackage,简称APK)的大小,减少应用下载等待时间。然而,由于热更新流程缺少统一有效的管理流程及规范,少部分三方应用频繁滥用后,容易导致移动终端出现发热、卡顿等影响用户体验的问题。为了解决上述问题,本申请实施例提供一种应用程序热更新的控制方案,可以避免在应用程序启动过程中执行热更新编译而发生发热、卡顿问题,提升应用程序的启动速度。需要说明的是,本申请实施例主要考虑以下场景下的第三方应用的热更新操作:场景一、移动终端首次安装具有热更新文件(如后缀名为apk、so及jar等的文件)的应用,在该首次安装的应用启动时需要调用dex2oat编译程序进行编译转换;场景二、第三方应用下载的热更新文件,加载前需要调用dex2oat进行编译转换;场景三、软件商店后台更新应用程序,应用代码发生变化,需要重新进行编译转换;场景四、系统版本升级(即OTA,通过推送系统补丁,用户下载后安装,更新系统)后系统发生变化,所有第三方应用的补丁文件需要重新进行编译转换;其中,dex2oat是谷歌提供的编译程序,用来编译应用的热更新文件,将热更新文件转换为android可高效执行的odex代码格式文件。图1是本申请实施例提供的一种应用程序热更新的控制方法的流程图,本实施例可适用于应用热更新情况,该方法可以由应用程序热更新的控制装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图1所示,该方法包括:步骤110、监听预设应用程序的热更新需求。其中,预设应用程序可以根据移动终端中已安装的第三方应用程序的使用情况确定。例如,根据使用频率对已安装的第三方应用程序进行排序,假设根据使用频率进行降序排列,将排序在前的设定数量的第三方应用程序作为预设应用程序。又如,根据使用时长对已安装的第三方应用程序进行排序,假设根据使用时长进行降序排列,将排序在前的设定数量的第三方应用程序作为预设应用程序。其中,设定数量可以是系统默认,也可以是用户设定的,例如,可以设定用户使用最频繁的30个第三方应用程序为预设应用程序。需要说明的是,热更新需求可以为是否需要进行热更新编译处理。也就是,检测终端是否处于预设场景。示例性的,若检测到发生系统版本更新,则确定终端处于预设场景,需要进行热更新编译处理。也就是,在系统版本更新完成时,检测终端状态,若终端状态为熄屏,则自动触发热更本文档来自技高网...

【技术保护点】
1.一种应用程序热更新的控制方法,其特征在于,包括:监听预设应用程序的热更新需求;在终端处于第一状态且预设应用程序需要进行热更新编译处理时,启动预设服务,并通过所述预设服务在后台执行热更新编译操作,其中,所述第一状态包括熄屏状态;若在执行所述热更新编译操作期间获取到所述终端的状态变为第二状态,则暂停执行所述热更新编译操作,并记录执行进度,其中,所述第二状态包括唤醒状态或使用状态。

【技术特征摘要】
1.一种应用程序热更新的控制方法,其特征在于,包括:监听预设应用程序的热更新需求;在终端处于第一状态且预设应用程序需要进行热更新编译处理时,启动预设服务,并通过所述预设服务在后台执行热更新编译操作,其中,所述第一状态包括熄屏状态;若在执行所述热更新编译操作期间获取到所述终端的状态变为第二状态,则暂停执行所述热更新编译操作,并记录执行进度,其中,所述第二状态包括唤醒状态或使用状态。2.根据权利要求1所述的方法,其特征在于,监听预设应用程序的热更新需求,包括:若发生系统版本更新或应用程序更新,则确定预设应用程序需要进行热更新编译处理。3.根据权利要求1所述的方法,其特征在于,还包括:若所述终端状态为熄屏状态且充电预设时间长度,则确定所述终端处于第一状态。4.根据权利要求3所述的方法,其特征在于,监听预设应用程序的热更新需求,包括:若所述终端处于第一状态,则启动预先注册的热更新服务;通过所述热更新服务检测首次安装的应用程序,或者,通过所述热更新服务监听已安装的目标应用程序的热更新文件下载情况;若检测到首次安装的应用程序具有热更新文件,或者检测到所述目标应用程序下载的热更新文件,则确定预设应用程序需要进行热更新编译处理,其中,预设应用程序包括首次安装的应用程序及目标应用程序。5.根据权利要求1所述的方法,其特征在于,在预设服务是JobService服务时,通过所述预设服务在后台执行热更新编译操作,包括:根据使用频率或使用时间对所述预设应用程序进行排序;基于排序结果通过JobService服务在后台启动所述预设应用程序的应用界面,其中,所述应用界面包括应用主界面或二级界面;若所述应用界面被启动,则通过预设编译进程编译所述应用界面对应的预设应用...

【专利技术属性】
技术研发人员:梅小虎帅朝春
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1