Android
系统会尽可能时间长的来维持一个程序的进程,但当系统资源紧张的时候,系统终究会为一些新的或者更重要的进程杀死一些旧的进程来释放内存。系统主要是根据进程中组件的运行状态,来决定每一个进程的重要性,从而决定哪个进程需要杀死,哪个进程需要保持。最不重要的进程最容易先被杀死,其次最不重要的进程会被杀死,以此往复,直到系统恢复了需要的资源。
既然系统主要根据进程的重要性来决定一个进程的存亡,下面我们就将介绍根据重要性分类的五种不同进程(重要性 由高到低)。
1.foreground process,前台进程
所谓前台进程就是指用户完成当前工作而需要的进程。判断条件如下(满足其一即可):
- 进程中的某个 Activity 正在与用户进行交互( Activity 的 onResume() 方法被调用)
- 绑定到与当前用户正在交互的 activity 的 Service 所在的进程
- 进程中的某个 Service 正运行在前台,即这个 service 的 startForeground() 方法被调用
- 进程中的某个 Service 正在执行生命周期回调方法&
既然系统主要根据进程的重要性来决定一个进程的存亡,下面我们就将介绍根据重要性分类的五种不同进程(重要性 由高到低)。
1.foreground process,前台进程
所谓前台进程就是指用户完成当前工作而需要的进程。判断条件如下(满足其一即可):
- 进程中的某个 Activity 正在与用户进行交互( Activity 的 onResume() 方法被调用)
- 绑定到与当前用户正在交互的 activity 的 Service 所在的进程
- 进程中的某个 Service 正运行在前台,即这个 service 的 startForeground() 方法被调用
- 进程中的某个 Service 正在执行生命周期回调方法&