第6章 深入理解Binder
最后更新于:2022-04-02 05:50:14
#### 本章主要内容
- 以MediaServer为切入点,对Binder的工作机制进行分析。
- 剖析ServiceManager的原理。
- 以MediaPlayerService为切入点对Client和Service的交互进行分析。
- 学以致用,探讨如何写自己的Service。
#### 本章涉及的源代码文件名及位置
下面是我们本章分析的源码文件名及其位置。
- Main_mediaserver.cpp
`framework/base/Media/MediaServer/Main_mediaserver.cpp`
- Static.cpp
`framework/base/libs/binder/Static.cpp`
- ProcessState.cpp
`framework/base/libs/binder/ProcessState.cpp`
- IServiceManager.cpp
`framework/base/libs/binder/IServiceManager.cpp`
- BpBinder.cpp
`framework/base/libs/binder/BpBinder.cpp`
- IInterface.h
`framework/base/include/binder/IInterface.h`
- IServiceManager.h
`framework/base/include/binder/IServiceManager.h`
- IServiceManager.cpp
`framework/base/libs/binder/IServiceManager.cpp`
- binder.cpp
`framework/base/libs/binder/binder.cpp`
- MediaPlayerService.cpp
`framework/base/media/libmediaplayerservice/MediaPlayerService.cpp`
- IPCThreadState.cpp
`framework/base/libs/binder/ IPCThreadState.cpp`
- binder_module.h
`framework/base/include/private/binder.h`
- Service_manager.c
`framework/base/cmds/ServiceManager/Service_manager.c`
- Binder.c
`framework/base/cmds/ServiceManager/Binder.c`
- IMediaDeathNotifier
`framework/base/media/libmedia/ IMediaDeathNotifier.cpp`
- MediaMetadataRetriever
`framework/base/media/libmedia/ MediaMetadataRetriever.cpp`
';