进程保活
一、Android进程的优先级
1.Foreground process(前台进程)
2.Visible process(可见进程)
3.Service process(服务进程)
4.Background process(后台进程)
5.Empty process(空进程)
二、Android进程的回收策略
1.Low memory killer:通过一些比较复杂的评分机制,对进程进行打分,然后将分数高(根据OOM_ODJ)的进程判定为bad进程,杀死并释放内存。
2.OOM_ODJ:判别进程的优先级,阀值越大进程优先级越低
三、进程保活方案
1.利用系统广播拉活
2.利用系统Service机制拉活
3.利用Native进程拉活
4.利用JobScheduler机制拉活
JobSheduler是作为进程死后复活的一种手段,native进程方式最大缺点是费电, Native 进程费电的原因是感知主进程是否存活有两种实现方式,在 Native 进程中通过死循环或定时器,轮训判断主进程是否存活,当主进程不存活时进行拉活。其次5.0以上系统不支持。 但是JobSheduler可以替代在Android5.0以上native进程方式,这种方式即使用户强制关闭,也能被拉起来,亲测可行。
5.利用账号同步机制拉活