Android培訓班(36) – Android移動開發技術文章_手機開發 Android移動開發教學課程

<!– @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();


}

發佈留言