Android 操作系统的内存回收机制( 三 )


步骤二,设当前最大运行进程数=+ (即默认最大进程数与运行的进程数之和),如果当前进程的数量 .size() 大于这个值,则遍历所有当前运行的进程,杀死符合条件的那些进程并释放内存 。清理过程见清单 5(部分代码省略) 。从清单 5 的代码中可以看出,进程被杀死的条件是:
①必须是非进程,即非系统进程;
②必须是空进程,即进程中没有任何存在 。如果杀死存在的进程,有可能关闭用户正在使用的程序,或者使应用程序恢复的时延变大,从而影响用户体验;
③必须无。运行一般都在等待一个事件的发生,用户并不希望此类程序被系统强制关闭;
【Android 操作系统的内存回收机制】④进程中的数量必须为 0 。存在的进程很有可能在为一个或者多个程序提供某种服务,如 GPS 定位服务 。杀死此类进程将使其他进程无法正常服务 。