android历程浅析
android进程浅析
首先,大家知道android是基于Linux 的系统,ios是基于unix的,所以android中进程的销毁是由系统执行的。
上图为生命周期,请参考上一篇。在android中,进程可以分为五大类:
1.Foreground Process(前台进程,优先级别最高,处于激活的状态)
- 正在处于Activity.Resume()状态
- 正与bound服务交互的状态,比如一个Activity绑定了一个Service,它正在和Service进行数据交互时
- 正在处于服务在前台欲行的状态,startForeground()被调用
- service生命周期函数正在被执行(onCreate(), onStart(), onDestroy())
- BroadcastReceiver正在执行onReceive()方法
2.Visible process(可见,但不可用)
- 当activity不在前端显示,但也没有完全隐藏,能够看得见,比如弹出一个对话框
3.Service process(服务进程)
- 正在运行的,不再上述两种状态的Service,比如start一个service,而这个service需要作长时间的运算,在这个过程中,就是service process
4.Background process(后台进程)
- 比如当你打开一个浏览器,然后按home键时,该浏览器进程就转为后台进程,onStop()方法被调用
5.Empty process(空进程)
- 没有任何东西存在的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。这部分进程无疑是应该最先终止的。