本文主要参考
官网
。
![](https://img-blog.csdn.net/20140619093940078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbzEyM2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当在android中启动一个组件时,系统开启一个单线程的进程。默认情况下,所有的组件都运行在同一个进程中的同一个线程中(包括service),你也可以让组件在不同的进程和线程中运行。
进程:默认情况下,应用的所有组件都运行在同一个进程中,一般情况下不用开启新的进程,如果你想用一个进程来单独运行某一个组件,就需要开启新的进程。
大家可以看看自己手机的应用,酷我音乐就是开启了两个进程和两个service。如图所示:
每个组件,如activity,service在manifest.xml中都有一个属性android:process,通过设置这个属性可以规定该组件在新的进程里运行。你也可以通过设置这个属性达到不同应用的组件运行在同一进程里,当然,userId需要一致。
线程:在同一进程中运行的所有组件,都共享一个UI线程,即主线程,要注意该线程不要阻塞。