主要介绍一些保活措施,无法保证进程永生不死,只能提高存活率。
- 通过系统广播或第三方广播拉活。通过监听开机、网络、解锁等系统广播及推送广播拉活。(具体可参见WatchmenReceiver类)
- 利用系统Service机制拉活。即service中onStartCommand方法设置flags = START_STICKY;或者onDestroy中重新启动service。
- startForeground设置为前台服务避免kill,Android4.3及以上需要设置id为0时通知栏才不显示该通知。
- 双进程守护保证remote提醒进程存活率Daemon;这个对6.0以下版本有大效果!
- JobSchedulerService和账号同步机制补充,对华为手机有效果。
- 1像素页面,息屏启动亮屏销毁,保证在前台。上线后有用户反馈解锁可能会出现假死现象,即该界面没有被销毁,后去除该方式。
- 是否忽略电池优化
- 联盟唤醒,但是必须保证app设置了可相互唤醒
- 墨迹天气插件解决帮助
参考资料