bindService流程


- 应用调用bindService将IServiceConnection传递到AMS(AMS会保存IServiceConnection)。
- 等到Service启动AMS会回调IServiceConnection的connected方法(IServiceConnection持有ServiceConnection的引用)。
- IServiceConnection和ServiceConnection不是一对一关系。Context和ServiceConnection不同都会组成不同的IServiceConnection。

- AMS里面每一个service都会对应一个ServiceRecord。
- ServiceRecord里面包含一个或者多个IntentBindRecord。
- IntentBindeRecord里面对应一个或者多个AppBindRecord。
- AppBindRecord里面包含一个或者多个ConnectionRecord。
Service的onRebind()方法什么时候会调用?
Service中onRebind方法被调用,只要符合两个必要条件就行
- 服务中onUnBind方法返回值为true
- 服务对象被解绑后没有被销毁,之后再次被绑定