1 Android进程的优先级
- Foreground process
- Visible process
- Service process
- Background process
- Empty process 唯一目的:做缓存,缩短下次运行组件所需的启动时间
2 Android进程的回收策略
- Low memory killer:通过比较复杂的评分机制,对进程打分,将分数高的进程判定为bad进程,杀死并释放内存。
- OOM_ODJ:判别进程的优先级。
3 进程保活方案
- 利用系统广播拉活
缺点:可以通过在AndroidManifest中注册静态广播接收者,但是如果这个接收者被其他自启动管理给禁用了,就无法自启动,无法拉活。只有在发生事件之后才能拉活。 - 利用系统Service机制拉活
- 利用Native进程拉活
借助linux中的fork机制,创建一个Native进程。在Native进程中,可以监视主进程存活,主进程一旦挂掉,Native进程立即将其拉活。主要利用AMS(ActivityManager Service)来管理。但是Android5.0之后,系统对Native进程加强管理,该方式失效。 - 利用JobScheduler机制拉活
- 利用账号同步机制拉活