Android 通过 Context提供getSystemService的接口, 而是实现类是 ContextImp
ContextImpl.java 的Load时(Static),会创建一堆 service proxy 对象,而后将其放入HashMap表中, 比如StatusBarManager
当用户调用 Service 方法的时候, Proxy 对象会将其传给真正在 ServiceManager 中注册的 Service. 表面上看就是 Manager是 Proxy对象, Service 是真正的对象.
这样的好处:
当 Service 不存在时,用户依然可以调用 Manger的接口,只是传不到Service, 基本没有任何动作而已