服务三大件:服务注册、服务发现、服务调用。
系统服务三大件演示
- 服务指的是可以提供的服务,就是一些可执行的方法不是 Android理解上的Service。
- SystemServer是由Zygote孵化出来的一个进程也不是 Android理解上的Service
- 服务注册:SystemServer上的服务通过Binder注册到service_manager中。 需要注册class用于查找到对应的class、注册方法 缓存中心缓存class、缓存class内的方法、缓存对象(对象可以在使用的时候在进行注册) 系统服务AMS\PMS\WMS等都是创建SystemService后立马注册的
- 服务发现 用户通过Binder调用service_manager查找到对应注册的服务
- 服务调用 找到服务后service_manager 通过binder调用SystemServer中的对应服务。
驱动加载
SystemService 进程负责启动相关服务,并且将服务注册到他的叔叔进程 Service_manager进程中。