Android培训班(36)

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

init.rc文件里,可以看到加载下面的服务:

service media /system/bin/mediaserver

user media

group system audio camera graphics inet net_bt net_bt_admin

mediaserver服务的代码在目录:

Android-2.0/frameworks/base/media/mediaserver

 

mediaserver服务是多媒体服务的守护进程,负责多媒体/照相机/音频等三项服务。

它的主要入口函数代码如下:

using namespace android;

 

int main(int argc, char** argv)

{

sp<ProcessState> proc(ProcessState::self());

这行代码获取进程状态。

 

sp<IServiceManager> sm = defaultServiceManager();

获取服务管理器。

 

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

 

AudioFlinger::instantiate();

这行代码创建音频实例。

 

MediaPlayerService::instantiate();

这行代码创建多媒体播放实例。

 

CameraService::instantiate();

这行代码创建照相机实例。

 

AudioPolicyService::instantiate();

 

下面开始启动线程池。

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

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

}

 

你可能感兴趣的:(Android培训班(36))