最新消息:欢迎访问Android开发中文站!商务联系QQ:1304524325

生还是死?Android 进程优先级详解

开发进阶 AndroidChina 4196浏览 0评论

英文原文:Who lives and who dies? Process priorities on Android

作者:Ian Lake,Google Android 推广工程师;翻译:Guokai Han。

让我们面对现实:移动设备上没有无限的内存、无限的电池或者其它无限的资源。这对应用而言意味着你应该把进程死亡作为应用生命周期的一个自然过程对待。最重要的是确保杀死进程及内存回收不会对用户造成负面影响。事实上,Android 中的多数进程架构都是为了确保特定的顺序而特别设计的,并按重要性层次遵循一组模式。

Android 进程层次

你会发现最重要的进程被称为前台进程,然后依次是任何可见进程、服务进程、后台进程,最后是空进程。这个文档中有详细描述,这里我们将进一步展开。

注意,当我们谈论特定组件(服务、activity)时,Android 只杀死进程,而不是组件。当然,这不会阻止通常的垃圾回收进程(它要回收没有任何引用的对象的内存),不过这是另一个主题了。

0-yGCYcQQsVmaT3Ukf
前台进程

你会想正在与用户交互的东西是最重要的需要保证活着的,这应该完全正确。但是“正在与用户交互”这个定