当application在Linux平台开启时,系统会给这个application创建一个进程(process)来运行同时分配内存资源给该application,当程序结束运行时,该进程结束系统回收内存资源

  • 1.application的进程出现以下情况时会被system意外终止:
1.系统空间不足时,会杀死进程的优先顺序:
 foreground process <<<  visible process <<<  service process <<<  cached process
 同等级的process会根据最后一次运行的时间排序重要性
  满足以下至少一个条件的叫做 foreground progcess:
  a.有一个Activity在前台获得焦点可与用户互动
  b.有一个 BroadcastReceiver组件正在运行onReceive()方法
  c.有一个Sevice组件正在运行onCreate()/onStart()/onDestory()方法

  满足以下至少一个条件的叫做 visible progcess:
  a.有一个Activity能被用户看见但是失去焦点(处于onPause()状态)
  b.有一个 Service调用了startForeground()方法 
  c.绑定了一个Service,系统将该Service作为一个特殊的用户知道的功能使用如自动更换壁纸,输入法服务等。


  service process:通过startService()方法开启的没有绑定在activity上的Service的进程,Service长时间运行  
  (超过30分钟以上)会被降级到cached process
  cached process:当前不需要使用到的process(即处在后台且没有组件是活跃状态的)
Logo

更多推荐