Android进程类型及优先级
一、Android 进程优先级
Android 进程优先级 :前台进程 > 可见进程 >服务进程 >缓存进程 > 空进程 ;
- 关键优先级进程 : 活动进程 ;
- 高优先级进程 : 可见进程 , 服务进程 ;
- 低优先级进程 : 后台进程 , 空进程 ;
Android 系统中会尽量保证优先级高的进程的存在时间尽可能长 ;如果资源不足 ( 这里的资源最主要的是内存 ) , 为了可以新建进程 , 以及重要进程的运行 , 系统会杀死一些低优先级进程 , 并回收该进程所占用的内存 ;如果出现内存不足的情况 , 会按照上述进程优先级顺序进行回收 , 从低到高进行
二、前台进程
前台进程的条件:
- 前台 Activity 进程 : 当前展示的 Activity 所在的进程 , 即已经调用了 onResume 方法 , 处于前台的界面进程 ;
- 绑定前台 Activity 的 Service 进程 : 绑定在 前台正在交互 Activity 上的 Service 进程 ;
- 前台运行的 Service 进程 : 在前台运行的 Service 服务 , Service 调用了 startForeground 方法后的状态 ;
- 处理生命周期回调的 Service 进程 : 正在执行生命周期回调方法的 Service 服务进程 , 如正在执行 onCreate , onStart , onDestory 方法的 Service 进程 ;
- 处理 onReceive 回调的 BroadcastReceiver 进程 : 接收到信息 , 执行 onReceive 方法的 BroadcastReceiver 广播接收者 ;
一般情况下 , 前台进程不会被回收 , 只有内存非常低时 , 无法正常响应用户操作 , 才回