一、一个Activity向ActvityManagerService发送一个绑定Service组件的进程间通讯请求,并发
二、ActvityManagerService发现若是Service组件不在同一个应用程序中,那么就会启动一个新的应用程序,不然直接通知应用程序进程将Service组件启动。spa
三、Service组件启动以后,ActvityManagerService就请求它返回一个Binder本地对象,这样Activity组件就能够经过Binder对象和Service组件进行链接。线程
四、ActvityManagerService将前面Service组件得到的一个Binder对象发送给Activity组件。对象
五、Activity组件得到了ActvityManagerService发送的Binder本地对象以后,能够经过它得到访问Service组件的一个接口。接口
Activity组件能够经过这个接口访问来使用Service组件的服务。进程
-----------------------------it
在Connect的时候,在将Binder本地对象传给Activity组件的时候,是经过消息处理机制来间接传递的,一、由于当前线程须要尽快返回到线程池中,去作其余的Binder进程间通讯请求,从而提升程序的并发处理Binder通讯请求能力。二、在Activity组件在接受Binder本地对象的时候,可能会执行一些界面操做相关的代码,所以须要经过消息处理机制将这个操做放在主线程中执行。线程池