您的位置:首页 > 移动开发

Application生命周期及Process进程

2017-05-05 17:15 169 查看
当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(即处在后台且没有组件是活跃状态的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: