[关闭]
@wangwangheng 2015-06-22T15:04:07.000000Z 字数 1101 阅读 1733

Android进程

原理性知识


1.进程等级

Android的进程等级分为五个:
* Active Process(Foreground Process)
* Visible Process
* Started Servie Process
* Background Process
* Empty Process

其中,Active Process属于Critical Priority的进程
Visible Process、Started Service Process属于High Priority的进程
Background Process、Empty Process 属于Low Priority的进程

1.1 Active Process (Foreground Process,前台进程)

杀死Foreground Process需要用户响应(例如ANR弹出等),因为它的优先级是最高的

1.2 Visible Process

当前进程不是焦点进程,Activity不在前端显示,但是也没有完全隐藏,能够看得见,比如弹出对话框的时候(或者输入法弹出框等)

一个Bound到Visible或者Foreground的Activity的Service所在的进程也属于Visible Process

1.3 Started Service Process

正在运行的不属于Active Process和Visible Process的Service所在的进程(比如开启了新线程去下载文件的Service所在的进程)

1.4 Background Process

不可见状态的Activity进程,而且没有任何现相关的Service运行的(onStop()被调用)的进程;系统有一个后台进程列表,一般情况下采取后进先出(LIFO)的原则来释放后台进程资源

1.5 Empty Process

没有任何Components的进程,保留这个进程主要是为了缓存的需要

2. 杀进程

System.exit(0);// 直接粗暴的杀死进程
Process.killProcess(Process.myPid());

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注