android

android双进程守护

2018-03-27  本文已影响433人  Llianhua

起因:需求是需要一个服务在后台,尽量能不被杀死,就算杀死了也可以被启动起来。

方式:

       1.提高服务的优先级

       2.采用双服务双进程守护

       具体实现:

                    ServiceA和ServiceB两个服务,一个IService.aidl文件,一个activity 文件,一个util文件

代码如下:

  activity中同时启动两个服务 aidl文件中创建两个方法 handler 中重复检查服务是否被杀死 启动服务并开启线程 启动服务方法

第二个服务和此服务代码相反,互相监听。

util类代码如下


清单文件分别使两个服务处于不同进程

总结:使用两个服务同时处于不同的进程,在清单文件里,互相监听。但是如果人为清理后台运行,并不能重启服务。看了微信,没有登陆的时候,是1个进程1个服务,但是清理后台后仍然会有一个服务在,并能启动起另外的进程,但是不知道是怎么做到的。

参考地址:https://github.com/henryliu703/com.lzg.strongService

上一篇下一篇

猜你喜欢

热点阅读