由于资源限制,如内存有限,移动操作系统可能不得不终止现有进程以回收有限的系统资源。Android并不是任意终止一个进程,而是确定了一个进程的重要等级层次结构,当系统必须终止一个进程以使资源对一个新的(或更重要的)进程可用时,它会按照重要等级顺序来终止进程。从最重要的到最不重要的层级,进程的分类的层次如下:

  • 前台进程——屏幕上可见的当前进程,表示用户当前正在与之交互的应用程序
  • 可见进程——在前台不能直接看到的过程,但它执行的是前台进程所引用的活动(也就是说,该进程执行了一个活动,而该活动的状态的信息展示在前台进程上)
  • 服务进程——该进程类似于后台进程,但正在执行用户可见的活动(如流媒体音乐)
  • 后台进程——可能正在执行某个活动,但对用户来说不明显的进程。
  • 空进程——不包含与任何应用程序关联的活动组件的进程

如果系统资源必须被回收,Android将首先终止空进程,然后是后台进程,等等。进程被分配一个重要性排序,Android试图分配一个尽可能高的排序。例如,如果一个进程正在提供一个服务,并且它也是可见的,那么它将被分配给更重要的可见进程分类。

此外,Android开发实践建议遵循进程生命周期的指导方针。当遵循这些指导原则时,进程的状态将在终止之前保存,如果用户导航回应用程序,将会从保存的状态下进行恢复。

results matching ""

    No results matching ""