Keep alive method and device of the invention provides a application program, through the dependence of the first service registration and service second, were killed in the second service, the first service corresponding to the first application by binding the second service request, service manager out there are second services in judgment, to create second service, and re created to accommodate second service second applications, so as to achieve the second program alive. The scheme adopted in this application does not require active interaction to achieve live protection, but only when the second program is killed, it reduces the waste of computing resources and power consumption. And, when the second program is killed, you can recreate the second program to save the second program that is alive.
【技术实现步骤摘要】
一种应用程序的保活方法和装置
本申请涉及终端
,尤其涉及一种应用程序的保活方法和装置。
技术介绍
由于系统运行时资源的限制,因此应用程序无法保持较长时间存活、无法实现一些时效性要求很高的功能。应用程序保活对于一些需要强实时消息推送、发警告通知、运营信息更新等场景乃至提升人机交互的连续性、流畅性等都有重大价值。现有的技术大多数的方案通过应用程序之间主动交互来实现保活,若交互达不到预期效果或抛出了异常,便认为对端程序已经消亡。这种主动交互既浪费计算资源(继而消耗电量)又需要用心控制交互的频率来实现保活。并且,采用这种主动交互的方法,并不能对对端程序的消亡做任何挽救,对于应用程序之间的相互支撑仍然存在一定的不足。
技术实现思路
本申请实施例提出了一种应用程序的保活方法和装置,用以实现对被保活程序的挽救。在一个方面,本申请实施例提供了一种应用程序的保活方法,包括:第一应用程序发起绑定第二应用程序的第二服务的请求;在服务管理器判断出存在第二服务时,所述第二应用程序向所述第一应用程序返回所述第二服务的代理对象;所述第一应用程序的第一服务通过所述代理对象注册与所述第二服务的依赖关系;在所述第二服务被杀死时,所述服务管理器根据所述依赖关系通知所述第一服务;第一应用程序在获知所述第二服务被杀死后,发起绑定所述第二服务的请求;所述服务管理器在判断出不存在第二服务时,重新创建第二服务,并重新创建容纳第二服务的第二应用程序。在另一个方面,本申请实施例提供了一种应用程序的保活装置,包括:第一应用程序、第二应用程序以及服务管理器,所述第一应用程序包括第一服务,所述第二应用程序包括第 ...
【技术保护点】
一种应用程序的保活方法,其特征在于,包括:第一应用程序发起绑定第二应用程序的第二服务的请求;在服务管理器判断出存在第二服务时,所述第二应用程序向所述第一应用程序返回所述第二服务的代理对象;所述第一应用程序的第一服务通过所述代理对象注册与所述第二服务的依赖关系;在所述第二服务被杀死时,所述服务管理器根据所述依赖关系通知所述第一服务;第一应用程序在获知所述第二服务被杀死后,发起绑定所述第二服务的请求;所述服务管理器在判断出不存在第二服务时,重新创建第二服务,并重新创建容纳第二服务的第二应用程序。
【技术特征摘要】
1.一种应用程序的保活方法,其特征在于,包括:第一应用程序发起绑定第二应用程序的第二服务的请求;在服务管理器判断出存在第二服务时,所述第二应用程序向所述第一应用程序返回所述第二服务的代理对象;所述第一应用程序的第一服务通过所述代理对象注册与所述第二服务的依赖关系;在所述第二服务被杀死时,所述服务管理器根据所述依赖关系通知所述第一服务;第一应用程序在获知所述第二服务被杀死后,发起绑定所述第二服务的请求;所述服务管理器在判断出不存在第二服务时,重新创建第二服务,并重新创建容纳第二服务的第二应用程序。2.如权利要求1所述的方法,其特征在于,所述第一应用程序的第一服务通过所述代理对象注册与所述第二服务的依赖关系具体包括:所述第一应用程序的第一服务通过所述代理对象以所述第一服务为入参调用所述第二服务的方法linkToDeath()。3.如权利要求1所述的方法,其特征在于,根据所述依赖关系通知所述第一服务具体包括:调用Service1.binderDied()方法。4.如权利要求1所述的方法,其特征在于,第一应用程序在获知第二服务被杀死具体为:通过binderDied()回调收到了Service2被杀死的消息。5.如权利要求1所述的方法,其特征在于,所述第一应用程序在获知所述第二服务被杀死后,发起绑定所述第二服务的请求时,指明自动创建模式;根据该自动创建模式,服务管理器在判断出不存在第二服务时,自动重新创建第二服务,并重新创建容纳第二服务的第二应用程序。6.如权利要求1所述的方法,其特征在于,还包括:第二应用程序发起绑定所述第一服务的请求;所述第一应用程序向所述第二应用程序返回所述第一服务的代理对象;在所述服务管理器判断出存在第一服务时,所述第二服务通过所述代理对象注册与所述第一服务的依赖关系;在所述第一服务被杀死时,所述服务管理器根据所述依赖关系通知所述第二服务;第二应用程序在获知所述第一服务被杀死后,发起绑定所述第一服务的请求;所述服务管理器在判断出不存在第一服务时,重新创建第一服务,并重新创建容纳第一服务的第一应用程序。7.如权利要求6所述的方法,其特征在于,所述第二应用程...
【专利技术属性】
技术研发人员:王飞,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。