android双进程守护

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

方式:

       1.提高服务的优先级

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

       具体实现:

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

代码如下:

  activity中同时启动两个服务
aidl文件中创建两个方法


handler 中重复检查服务是否被杀死
启动服务并开启线程
启动服务方法

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

util类代码如下




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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,565评论 25 709
  • 一. 什么是多进程? 多进程就是多个进程的意思,那么什么是进程呢? 当一个应用在开始运行时,系统会为它创建一个进程...
    酱拌饭阅读 4,338评论 0 5
  • 【Android Service】 Service 简介(★★★) 很多情况下,一些与用户很少需要产生交互的应用程...
    Rtia阅读 8,316评论 1 21
  • 女儿发烧了,很累的样子。取消了约的英语课,接着和我说,妈妈,我不想上这个课了。 我,不是已经取消了吗?今天就不上了...
    王敏敏_5f02阅读 2,507评论 0 0
  • 一生中有很多人,有些知心人叫做朋友,她‖他们能给你的不多,也不少,但却是你不可缺少的。友情没爱情那么轰轰烈烈,也没...
    玖兰枢阅读 1,202评论 0 3