用于安卓应用主进程唤醒的方法、存储介质、设备及系统技术方案

技术编号:17304263 阅读:44 留言:0更新日期:2018-02-18 22:08
本发明专利技术涉及移动软件领域,公开了一种用于安卓应用主进程唤醒的方法、存储介质、设备及系统,该方法包括S1:给应用程序新建一后台进程,应用程序与服务端建立长连接;S2:应用程序与服务端间长连接断开前,若应用程序主进程为结束运行状态,则唤醒应用程序主进程,若应用程序主进程为正常运行状态,则不做处理,应用程序与服务端间长连接断开后,则创建一通知消息并下发至终端设备;S3:终端设备接收通知消息,若通知消息类型为进程唤醒消息,则转到S4,若否,则结束;S4:唤醒后台进程,判断应用程序主进程运行状态,若为结束运行状态,则对应用程序的主进程进行唤醒,若否,则结束。本发明专利技术能够有效保证对应用程序主进程的唤醒。

The method, storage medium, equipment and system for the wake up of the main process of Android application

The present invention relates to the field of mobile software, a method for application of the main process of awakening, Android storage medium, equipment and systems are open, the method includes: to create a new S1 application background process, application and server to establish long connection; S2: application and server disconnect before long, if the main application process for the end of a wakeup operation state, the main application process, if the main application process for the normal operation of the state, do not do processing, application and server long disconnection, create a notification message and sends to the terminal equipment; S3: terminal equipment receives the notification message, if notice message type wakeup message for the process, go to S4, if not, then the end; S4: wake up background process, judge the main application process running state, if the end of the operation state. The main process of the application wakes up, and if not, it ends. The invention can effectively guarantee the awakening of the main process of the application.

【技术实现步骤摘要】
用于安卓应用主进程唤醒的方法、存储介质、设备及系统
本专利技术涉及移动软件领域,具体涉及一种用于安卓应用主进程唤醒的方法、存储介质、设备及系统。
技术介绍
在日益激烈的移动互联网领域,提高APP(Application,应用程序)的活跃率是各大APP开发商颇为关注的事情,其中,APP的启动速度更是直接关系到用户对于APP的使用体验,如APP启动速度过慢则会直接减少用户对当前APP使用友善度,严重的甚至会直接导致用户卸载当前APP,进而大幅降低APP的安装量,进而影响APP的活跃率,因此提高APP的启动速度是APP开发人员当前迫切需要解决的难题。当前,对于APP启动速度的提升,较常采用的做法是维持应用的主进程在后台长期运行,从而可以在不重复启动应用的情况下瞬间将应用置于前台,从而提高应用程序的启动速度。对于Android操作系统,当应用程序的主进程被操作系统关闭后,进行唤醒的方式有多种,较为常见的方案有如下三种:(1)将应用程序加入启动白名单,当应用程序的主进程被关闭或异常退出时,操作系统随即采用唤醒机制,对应用程序的主进程进行唤醒。该方案的优点是主进程由操作系统唤醒,主进程唤醒成功率高,缺点是需要应用程序的厂商和操作系统厂商或手机厂商进行合作,方可将应用程序加入到启动白名单中。(2)多进程保鲜机制,一个应用程序在运行时由多个进程组成:一个主进程和多个后台进程,当主进程被关闭或异常退出时,其它任意后台进程检测到主进程被关闭的警报后,随即开展主进程唤醒。该方案的优点是技术实现难度低,且无需做系统层面的处理,如应用程序白名单的添加,但缺点是一旦后台程序一并被杀死,唤醒机制则难以为继。(3)关联启动机制,即当终端(运行Android操作系统的设备)中安装有多个集成了相同唤醒SDK(SoftwareDevelopmentKit,软件开发工具包)的应用程序,当其中一个应用程序处于运行状态,其后台进程则会随即开展搜索当前设备与其相似集成唤醒SDK的应用,搜索完成后随机进行应用唤醒,但随着Android操作系统版本的升级以及对后台权限的管制加强,关联启动机制在高版本的Android操作系统则无法展开,存在兼容性的问题。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种用于安卓应用主进程唤醒的方法、存储介质、设备及系统,能够有效保证对应用程序主进程的唤醒。为达到以上目的,本专利技术采取的技术方案是,包括:S1:给应用程序新建一后台进程,通过新建的后台进程使得应用程序与服务端建立长连接,且后台进程运行的优先级和应用程序主进程的优先级相同,且后台进程包含用于监控应用程序主进程运行状态的监控服务,所述服务端为应用程序厂商推送服务的服务器;S2:在应用程序与服务端间的长连接断开前,监控服务监控应用程序主进程的运行状态,若应用程序主进程的运行状态为结束运行状态,则监控服务唤醒应用程序主进程,若应用程序主进程的运行状态为正常运行状态,则不做处理,在应用程序与服务端间的长连接断开后,服务端创建一通知消息并下发至运行应用程序的终端设备;S3:终端设备的Android操作系统的系统服务接收服务端发送的通知消息,并对接收的通知消息的类型进行判断,若通知消息的类型为进程唤醒消息,则转到S4,若否,则结束;S4:通过进程唤醒消息唤醒后台进程,并启动新建的后台进程的监控服务,监控服务判断应用程序主进程的运行状态,若应用程序主进程为结束运行状态,则新建的后台进程对应用程序的主进程进行唤醒,若否,则结束。在上述技术方案的基础上,所述应用程序与服务端间的长连接基于Socket通信;所述应用程序与服务端间以应用程序的名称作为通信标识;所述后台进程调用Android操作系统的本地服务建立应用程序与服务端间的长连接。在上述技术方案的基础上,在应用程序与服务端间的长连接断开之前,后台进程对应用程序主进程的运行状态的判断,具体为:后台进程每隔一预设时间间隔向应用程序主进程发送一条广播,应用程序主进程接受到广播后回馈一条包含有应用程序主进程自身运行状态信息的广播给后台进程,若后台进程在下一条广播发出前接收到应用程序主进程回馈的广播,则表示应用程序主进程为运行状态,反之,应用程序主进程为关闭状态。在上述技术方案的基础上,所述后台进程通过轮训器向应用程序主进程发送广播。在上述技术方案的基础上,若终端设备接收到的通知消息的类型为进程唤醒消息,则Android操作系统通知栏对进程唤醒消息进行展示以供用户选择是否唤醒应用程序主进程,若用户选择是,则唤醒后台进程并唤醒应用程序主进程,若用户选择否,则结束。本专利技术还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。本专利技术还提供一种用于安卓应用主进程唤醒的设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。本专利技术还提供一种用于安卓应用主进程唤醒的系统,包括:创建模块,其用于新建一后台进程,通过新建的后台进程使得应用程序与服务端建立长连接,且后台进程运行的优先级和应用程序主进程的优先级相同,且后台进程包含用于监控应用程序主进程运行状态的监控服务,所述服务端为应用程序厂商推送服务的服务器;判断模块,其用于判断应用程序与服务端间的长连接是否断开,在应用程序与服务端间的长连接断开前,监控服务监控应用程序主进程的运行状态,若应用程序主进程的运行状态为结束运行状态,则监控服务唤醒应用程序主进程,若应用程序主进程的运行状态为正常运行状态,则不做处理,在应用程序与服务端间的长连接断开后,则表示后台进程已结束运行,则服务端创建一通知消息并下发至运行应用程序的终端设备;消息接收及进程唤醒模块,其用于接收服务端发送的通知消息,并对接收的通知消息的类型进行判断,若为非进程唤醒消息,则结束,若通知消息的类型为进程唤醒消息,则唤醒后台进程,并启动新建的后台进程的监控服务,同时监控服务判断应用程序主进程的运行状态,若应用程序主进程为结束运行状态,则新建的后台进程对应用程序的主进程进行唤醒,若否,则结束。在上述技术方案的基础上,所述应用程序与服务端间的长连接基于Socket通信;所述应用程序与服务端间以应用程序的名称作为通信标识;所述后台进程调用Android操作系统的本地服务建立应用程序与服务端间的长连接。在上述技术方案的基础上,所述后台进程通过轮训器向应用程序主进程发送广播。与现有技术相比,本专利技术的优点在于:通过在应用程序中新建一个后台进程,后台进程具有对应用程序主进程进行唤醒和运行状态判断的功能,在应用程序与服务端间的长连接断开前,新建的后台进程能对停止运行的应用程序的主进程进行唤醒,当应用程序与服务端间的长连接断开后,服务端发送消息对应用程序的主进程进行唤醒,采用多重唤醒保险机制,确保应用程序主进程被唤醒,有效避免了应用程序所有进程被关闭后,应用程序主进程无法被唤醒情况的出现,且服务端向运行应用程序的终端设备发送的进程唤醒消息,采用友好的交互方式,由用户自己决定是否对已停止运行的应用程序的主进程进行唤醒。附图说明图1为本专利技术实施例中一种用于安卓应用主进程唤醒的方法的流程图;图2为本专利技术实施例中用于安卓应用主进程唤醒的设备的结本文档来自技高网
...
用于安卓应用主进程唤醒的方法、存储介质、设备及系统

【技术保护点】
一种用于安卓应用主进程唤醒的方法,用于对Android操作系统中应用程序的主进程进行唤醒,其特征在于,包括:S1:给应用程序新建一后台进程,通过新建的后台进程使得应用程序与服务端建立长连接,且后台进程运行的优先级和应用程序主进程的优先级相同,且后台进程包含用于监控应用程序主进程运行状态的监控服务,所述服务端为应用程序厂商推送服务的服务器;S2:在应用程序与服务端间的长连接断开前,监控服务监控应用程序主进程的运行状态,若应用程序主进程的运行状态为结束运行状态,则监控服务唤醒应用程序主进程,若应用程序主进程的运行状态为正常运行状态,则不做处理,在应用程序与服务端间的长连接断开后,服务端创建一通知消息并下发至运行应用程序的终端设备;S3:终端设备的Android操作系统的系统服务接收服务端发送的通知消息,并对接收的通知消息的类型进行判断,若通知消息的类型为进程唤醒消息,则转到S4,若否,则结束;S4:通过进程唤醒消息唤醒后台进程,并启动新建的后台进程的监控服务,监控服务判断应用程序主进程的运行状态,若应用程序主进程为结束运行状态,则新建的后台进程对应用程序的主进程进行唤醒,若否,则结束。

【技术特征摘要】
1.一种用于安卓应用主进程唤醒的方法,用于对Android操作系统中应用程序的主进程进行唤醒,其特征在于,包括:S1:给应用程序新建一后台进程,通过新建的后台进程使得应用程序与服务端建立长连接,且后台进程运行的优先级和应用程序主进程的优先级相同,且后台进程包含用于监控应用程序主进程运行状态的监控服务,所述服务端为应用程序厂商推送服务的服务器;S2:在应用程序与服务端间的长连接断开前,监控服务监控应用程序主进程的运行状态,若应用程序主进程的运行状态为结束运行状态,则监控服务唤醒应用程序主进程,若应用程序主进程的运行状态为正常运行状态,则不做处理,在应用程序与服务端间的长连接断开后,服务端创建一通知消息并下发至运行应用程序的终端设备;S3:终端设备的Android操作系统的系统服务接收服务端发送的通知消息,并对接收的通知消息的类型进行判断,若通知消息的类型为进程唤醒消息,则转到S4,若否,则结束;S4:通过进程唤醒消息唤醒后台进程,并启动新建的后台进程的监控服务,监控服务判断应用程序主进程的运行状态,若应用程序主进程为结束运行状态,则新建的后台进程对应用程序的主进程进行唤醒,若否,则结束。2.如权利要求1所述的一种用于安卓应用主进程唤醒的方法,其特征在于:所述应用程序与服务端间的长连接基于Socket通信;所述应用程序与服务端间以应用程序的名称作为通信标识;所述后台进程调用Android操作系统的本地服务建立应用程序与服务端间的长连接。3.如权利要求1所述的一种用于安卓应用主进程唤醒的方法,其特征在于:在应用程序与服务端间的长连接断开之前,后台进程对应用程序主进程的运行状态的判断,具体为:后台进程每隔一预设时间间隔向应用程序主进程发送一条广播,应用程序主进程接受到广播后回馈一条包含有应用程序主进程自身运行状态信息的广播给后台进程,若后台进程在下一条广播发出前接收到应用程序主进程回馈的广播,则表示应用程序主进程为运行状态,反之,应用程序主进程为关闭状态。4.如权利要求1所述的一种用于安卓应用主进程唤醒的方法,其特征在于:所述后台进程通过轮训器向应用程序主进程发送广播。5.如权利要求1所述的一种用于安卓应用主进程唤醒的方法,其特征在于:若终...

【专利技术属性】
技术研发人员:尹成陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1