【android,21】Process进程 与线程之间的关系

来源:互联网 发布:网络带来的弊端 编辑:程序博客网 时间:2024/05/22 15:33

1、Process进程 与线程之间的关系:

process 操作系统分配一个执行的单元, 分配一个pid 进程的id ,分配一块内存空间,不同进程之间的内存空间是相互独立.

在一个进程里面可以有多个线程 同时运行, 假的同时运行

多个线程共同运行在同一个进程里面 所以 这些线程共享了相同的一块内存空间.

线程的上下文切换的开销 要小很多.

2、application和进程之间有什么关系呢?

在android里一个application 是 多个activity的集合。

一般情况:每一个application 都会对应一个进程。

特殊情况: 一个应用程序可能对应多个进程 .

比如说: 在我们的应用程序里面激活了别的应用程序的组件(activity)

新激活的组件是被加载到我们应用程序的task栈里面的

但是这个新激活的activity是运行在 新的进程里面的.

例:单击按钮打开一个浏览器:

//点击按钮的执行的方法:

public void startBrowser(View view){

        Intent intent = new Intent();//创建意图

        intent.setAction(Intent.ACTION_VIEW);

        intent.setData(Uri.parse("http://www.baidu.com"));

        intent.addCategory(Intent.CATEGORY_BROWSABLE);

        startActivity(intent);

}

 

三、系统进程的优先级:android的操作系统 根据进程的优先级把进程分为了若干个等级

1.  Foregroundprocess 前台进程(优先级最高)

 

 

2.  Visibleprocess  可见进程

 

 

3. Service process 服务进程: 如果一个程序只有一个后台的服务

 

 

4. Background process 后台进程:没有服务的进程 ,并且我们用户看不见这个进程

 

 

 

5. Empty process 空进程: 没有任何活动组件的进程.

 

 

 

 

0 0
原创粉丝点击