Android进程优先级

184 阅读1分钟

系统为了回收资源而杀死进程的顺序是由进程优先级所决定的:

  1. 应用的优先级又等于优先级最高组件的优先级。
  2. 如果两个应用具有相同的优先级,那么运行时间最长的进程通常会被杀死。
  3. 如果一个应用依赖于另一个应用提供的Service或Content Provider,那么为辅助应用分配的优先级至少要与支持的应用相同。
  • 活动进程:优先级最高

具有用户正在交互的应用组件。包括一个或多个以下组件:

  1. 处于活动的Activity
  2. 执行onReceive方法的Broadcast Receiver
  3. 执行onStart、onCreate或onDestroy方法的Service组件。
  • 可见进程:高优先级

只包含可见Activity或前台Service。前台运行的Service的优先被标记为略低于活动进程。

  • 已启动的后台服务进程:中等优先级**

托管了已启动的后台Service的进程。由于执行Service直接与用户进行交互,因此它们的优先级略低于可见Activity或前台Service。

  • 后台进程:低优先级

托管了不可见且没有任何Service正在运行的Activity。如按下Home键,应用切换到后台。杀死策略是“后见者先杀”,同时也考虑优先杀死销毁跟多内存的应用。