Android 进程
Android系统主动管理资源,为了保证高优先级程序的正常运行或者为了减轻系统内存负载,会主动终止低优先级的程序。
可见程序的生命周期是由Android系统控制。
前台进程(
Foreground Process)
- 活动进程,正在和用户交互的承载应用程序的进程。
- 最高优先级,正在前台运行,用户正在通过该进程与系统进行交互。
包括四种情形:
Activity正在于用户进行交互。- 进行正在被
Activity调用,而且这个进程正在于用户进行交互。- 进程服务正在执行声明中的回调函数。
- 进程的
BroadCastReceiver正在执行OnReceive()函数。
可见进程(
Visible Process)
- 可见但非活动进程。
- 部分程序界面能够被用户看见,却不在前台与用户交互,不影响界面事件的进程。
- 极少数的情况下,
Android系统会为了保证前台进程的资源而清除可见进程。
服务进程(
Service Process)
- 已启动服务的进程。
- 没有用户界面,在后台长期为用户服务运行。
- 除非
Android系统不能保证前台进程或可见进程所必要的资源,否则不强行清除服务进程。
后台进程(
Background Process)
- 不包含任何已经启动的服务,没有用户可见的
Activity的进程。- 系统资源紧张时,系统将优先清除用户长时间没有看到的后台进程。
空进程(
Empty Process)
- 没有持有任何活动应用组件的进程。
- 最低优先级,保留空进程的唯一理由是为了提供一种缓存机制,缩短应用下次运行时的启动时间。
- 空进程在系统资源紧张时会被首先清除,但为了提高
Android系统应用程序的启动速度,Android系统将会将空进程保存在系统内存中,在用户重新启动该程序时,空进程会被重新使用。
本文探讨了Android系统如何根据优先级主动管理进程,从前台进程的高优先级交互到后台进程的资源优化,以及空进程作为缓存机制的作用。理解这些原理有助于开发者更好地设计和优化Android应用的性能。

9244

被折叠的 条评论
为什么被折叠?



