Android进程守护

没有办法实战真正的进程守护,需要做的只是在用户不主动的清理内存的时候做到服务不被Kill

实现方案:

  1. 利用静态广播启动服务,比如说锁屏广播等
  2. 提高服务的优先级,在API>19的手机上,尽量不要使用startForeground(),因为会在通知栏中出现XXX服务正在运行,体验不好。
  3. 在onStart()方法中返回 START_STICKY
  4. 在onDestroy()方法中重启服务
  5. native守护进程的方式(在Github上找了几个,没啥用,android系统做的越来越严)

其中2,3,4在国内基本上没啥用,重点说一下第一种解决方案

第一种解决方案,利用国内QQ,微信,支付宝的影响力,使用这些软件发出的广播,在Anyware中监听这些广播,将ddpush的推送进程拉起来。对于国产手机来说,需要将我们的应用程序加入到白名单中,具体针对国内的 小米、魅族、华为、vivo等几个主要品牌的手机做一下说明(这些可以写在设置界面中,提醒用户自己去设置)。
设置地址:http://jingyan.baidu.com/album/9faa72319f8093473c28cb85.html?picindex=2

对于重要的通知,还是采用短信靠谱

你可能感兴趣的:(Android进程守护)