边学边卖之Binder

1,Binder是android特有的进程间通信方式。

2,基于Binder的C/S架构体系中,除了Client和Server外,还有一个全局的ServiceManager。SM存在的意义:为Client提供查询Service服务,即Client要到SM中查询注册过的Service信息。

3,注意区分Binder中的通信层架构和业务层架构。

=========开始源码解读=========

1,main_mediaserver.cpp

sp proc(ProcessState::self());

sp sm = defaultServiceManager();

ALOGI("ServiceManager: %p", sm.get());

AudioFlinger::instantiate();

MediaPlayerService::instantiate();

ResourceManagerService::instantiate();

CameraService::instantiate();

AudioPolicyService::instantiate();

SoundTriggerHwService::instantiate();

RadioService::instantiate();

#ifdefAUDIO_LISTEN_ENABLED

ALOGI("ListenService instantiated");

ListenService::instantiate();

#endif

registerExtensions();

ProcessState::self()->startThreadPool();

IPCThreadState::self()->joinThreadPool();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容