进程保活与拉活

进程相关知识梳理

  1. Activity 1像素保活
  2. 前台服务保活
  3. 账户同步拉活
  4. JobScheduler 拉活
  5. 双进程守护

Activity 1像素保活

原理:通过监听手机息屏、开屏广播,关闭屏幕时,偷偷创建一个1像素的Activity,让应用成为前台进程;打开屏幕时,关闭该Activity。
缺点:存在一个Activity不够干净,同时需要在锁屏后才能提权。

前台 Service 保活

原理:启动一个前台服务,从而拉高整个应用的优先级。

  • API<18,通知图标不会显示
  • API>=18并且API<26,可以启动双服务,绑定同样的ID,然后stop一个服务,通知图标将不显示
  • API>=26后,暂时没有方式能够隐藏通知

账户同步拉活

优点:系统唤醒,比较稳定
缺点:时间不能把控

JobScheduler 拉活

  • JobScheduler允许在特定状态与特定时间间隔周期执行任务。可以利用它的这个特点完成保活的功能,效果即开启一个定时器,与普通定时器不同的是其调度由系统完成。
  • 在某些ROM可能并不能达到需要的效果。

双进程守护

原理:开启两个进程相互绑定,一个进程被杀死后,另一个进程重新启动被杀死的进程。

总结:

  • 没有一种方式是能够保证你的应用一直存活在内存中的,但是能延长时间也很不错了。(应用加入厂商手机白名单最一劳永逸!!!)
  • 系统会优先杀死占用内存多的应用,所以想让自己的应用活的更久,还可以从性能上去优化,让其尽可能少的占用内存。

你可能感兴趣的:(进程保活与拉活)