Android 进程

Android系统主动管理资源,为了保证高优先级程序的正常运行或者为了减轻系统内存负载,会主动终止低优先级的程序。
可见程序的生命周期是由Android系统控制。

android多进程的创建 android系统进程_android多进程的创建


前台进程(Foreground Process)

  • 活动进程,正在和用户交互的承载应用程序的进程。
  • 最高优先级,正在前台运行,用户正在通过该进程与系统进行交互。

包括四种情形:

  1. Activity正在于用户进行交互。
  2. 进行正在被Activity调用,而且这个进程正在于用户进行交互。
  3. 进程服务正在执行声明中的回调函数。
  4. 进程的BroadCastReceiver正在执行OnReceive()函数。

可见进程(Visible Process)

  • 可见但非活动进程。
  • 部分程序界面能够被用户看见,却不在前台与用户交互,不影响界面事件的进程。
  • 极少数的情况下,Android系统会为了保证前台进程的资源而清除可见进程。

服务进程(Service Process)

  • 已启动服务的进程。
  • 没有用户界面,在后台长期为用户服务运行。
  • 除非Android系统不能保证前台进程或可见进程所必要的资源,否则不强行清除服务进程。

后台进程(Background Process)

  • 不包含任何已经启动的服务,没有用户可见的Activity的进程。
  • 系统资源紧张时,系统将优先清除用户长时间没有看到的后台进程。

空进程(Empty Process)

  • 没有持有任何活动应用组件的进程。
  • 最低优先级,保留空进程的唯一理由是为了提供一种缓存机制,缩短应用下次运行时的启动时间。
  • 空进程在系统资源紧张时会被首先清除,但为了提高Android系统应用程序的启动速度,Android系统将会将空进程保存在系统内存中,在用户重新启动该程序时,空进程会被重新使用。