第11讲- Android中进程及其优先级
第11讲Android中进程及其优先级
进程与线程:
进程:操作系统结构的基础,资源分配的最小单元,一个操作系统包括多个进程;
线程:线程存在于进程当中,是操作系统调试执行的最小单元,一个进程包括多个线程。
当一个android应用启动,系统会启动一个进程和一个主线程来运行这个应用。Android系统会尽力保持这个进程的稳定和安全,但是,在某些特殊情况下,总会移除旧的进程来回收内存,用于新的或者更重要的进程。当要回收内存的时候,系统要决定哪些应该保留,哪些应该杀掉。因此在android进程管理中,设置了进程的优先级别。优先级取决于进程内运行的程序的状态。
那么当系统需要回收内存时,就杀掉优先级低的进程。这是android系统的策略。
五个优先级别(进程等级从高到低顺序)
1. Foreground process 前台进程,优先级最高。常见的比如,用户正在操作的界面。
2. Visible process 可见进程,activity不在前端显示,但也没有完全隐藏,能够看得见,比如弹出一个对话框。常见的比如,用户从一个程序切换到另一个程序,旧的程序被替换,但是可恢复(比如,看电子书时,有电话进入,电话界面替换电子书界面)。
3. Service process 服务进程,常见的比如,边放音乐、边看电子书中音乐的Service。
4. Background process 后台进程,不可见状态的activity进程,定时检查更新。
5. Empty process 空进程,没有运行任何Components的进程,保留这个进程主要是为了缓存的需要。
注意:进程的重要级别在运行过程中有可能随时变化。