Android系依赖Linux来完成进程管理,而应用程序本身以Dalvik虚拟机中的实例运行。操作系统有时可能需要卸载甚至杀死应用程序,以满足资源分配的需求。系统将根据特定的层次结构或序列来选择资源不足时牺牲哪个应用程序。通常而言,其选择规则如下:
- 可见、运行中的活动拥有最高优先级。
- 可见、未运行的活动很重要,因为他们是近期停止的活动,并且可能很快就恢复。
- 运行中的服务处于第二优先级。
- 最后可能被终止的应该是空的进程(其中用可能是性能缓存)或者Activity处于睡眠状态的进程。
via Google Android 揭秘
-EOF-