确定应用程序终止的优先级树
应用程序终止的优先级树
活动进程 活动(前台)的进程是指那些有组件正和用户进行交互的应用程序进程。他们都是android尝试通过回收资源来使其保持响应的进程。这些进程的数量非常少,只有到最后的关头才会终止这些进程。 活动的进程包括:
处于“活动”状态的Activity活动,也就是说,它们位于前台并对用户事件进行响应。 正在执行onRecieve事件处理程序的广播接收器。
正在执行onStart,onCreate或者onDestroy事件处理程序的服务。 正在运行、且已被标记为前台运行的服务。
2.空进程 2.后台进程 2.可见进程 3.启动服务进程 1.活动进程 可见进程
可见但是非活动的进程是指那些驻留”可见”活动的进程。顾名思义,可见的活动能被用户看到,但是它们并不在前台运行或者能对用户事件做出反映。例如,当一个活动被部分遮挡时(被一个非全屏或者半透明的活动遮挡)就会出现这种情况。这些进程的数量也很少,只有在资源极度匮乏的环境下,为保证活动进程继续执行时才会终止这些进程。
启动服务进程
已经启动的服务进程。服务支持在没有可见界面的情况下,仍然能够继续不间断地进行处理。因为后台服务没有直接和用户进行交互,所以它们的优先级要比可见进程低一些。但是它们仍然被认为是前台进程。除非活动或者可见的进程需要资源,否则不会终止他们。
后台进程
不可见、并且没有任何正在运行的服务的活动的进程。通常会有大量的后台进程,Android将使用“最后一个被看到,第一个被终止”(last-seen-first-killed)的方式来终止它们,从而为前台进程提供资源。
空进程
为了提高系统整体性能,Android经常在应用程序的生存期结束之后仍然把它们保存在内存中。Android通过维护这个缓存来减少应用被再次启动时的启动时间。通常这个进程会根据需要被定期终止。
因篇幅问题不能全部显示,请点此查看更多更全内容