1. Foreground Process:
正处于Activity Resume()状态
正处于与bound服务交互的状态
正处于服务在前台运行的状态, (startForeground()被调用)
Service生命周期函数正在被执行(onCreate(), onStart(), onDestory())
BroadcastReceiver正在执行onReceive()方法
杀死Foreground Process 需要用户响应,也就是会通知用户是否关闭-因为这个安全优先级最高.
2. Visible Process
Activity不在前端显示, 但也没有完全隐藏, 能够看得见. 比如弹出一个对话框,或者输入法框(Input Method)
一个bound到visible或者 foreground的 activity 的Service
3. Service Process
正在运行的,不在上述两种状态的Service
4,Background Process
不可见状态的Activity 进程, (onStop() 被调用)
5, Empty Process
没有运行任何Components 的进程, 保留这个进程主要是为了缓存的需要,比如长按home键出来recent的列表的程序.
Activity进程启动:
主要是manifest.xml中的Activity 的action为main,等. 主要是通过packageManager(运行在package service)加载应用程序, 找到相关的manifest来启动进程.