中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

重慶建網(wǎng)站的公司集中在哪里百度醫(yī)生

重慶建網(wǎng)站的公司集中在哪里,百度醫(yī)生,找人做網(wǎng)站要準(zhǔn)備什么,東莞網(wǎng)絡(luò)營銷推廣速度快上一篇講了Zygote是如何收到啟動Application的啟動消息,并一步步進(jìn)入Fork(),下面來分析zygote fork啟動application后,application進(jìn)程后續(xù)處理操作,是如何真正的啟動的。 ZygoteInit.main():-->...caller ZygoteServer.runSelectLoop()…

上一篇講了Zygote是如何收到啟動Application的啟動消息,并一步步進(jìn)入Fork(),下面來分析zygote fork啟動application后,application進(jìn)程后續(xù)處理操作,是如何真正的啟動的。

ZygoteInit.main():-->...caller = ZygoteServer.runSelectLoop();-->while(true) //死循環(huán)-->Zygoteconnection  connection = peers.get(); Runnable command = connection.processOneCommand();//進(jìn)行進(jìn)程的處理,創(chuàng)建新進(jìn)程-->args = Zygote.readArgumentList(mSocketReader);//獲取socket命令參數(shù)ZygoteArguments parsedArgs = new ZygoteArguments();...各種參數(shù)解析中...pid = zygote.forkAndSpecialize();//Fork子進(jìn)程,得到一個(gè)新的pid.-->pid = nativeForkAndSpecialize(); //調(diào)用native層接口去forkif(pid == 0){ //子進(jìn)程}return pid;if(pid == 0) //子進(jìn)程:Application進(jìn)程{//關(guān)閉Zygote服務(wù)Socket:因?yàn)閒ork時(shí)復(fù)制出來的socket,對Application進(jìn)程來說,它沒有用。zygoteServer.closeServerSocket(); //application進(jìn)程可以正常運(yùn)行了。return handleProcessChild();-->ZygoteConnection.java:ZygoteInit.zygoteInit(parseArgs.xxx); //app進(jìn)程的啟動-->ZygoteInit.java:RuntimeInit.commonInit(); //初始化運(yùn)行環(huán)境ZygoteInit.nativeZygoteInit();//啟動Binder, 并在androidRuntime.cpp中注冊-->com_android_internal_os_ZygoetInit_ativeZygoteInit():-->gCurRuntime->onZygoteInit(); //通過JNI進(jìn)入Native-->//進(jìn)入app_main.cpp.onZygoteInit();//下面ProcessState對應(yīng)Application這個(gè)進(jìn)程實(shí)例,里面會初始化Binder-->sp<ProcessState> proc = ProcessState::self();-->在C++構(gòu)造函數(shù)初始化列表中:mDriverFD(open_driver(driver))//這里總結(jié)下,Application被Zygote Fork出來之后,進(jìn)入到Native層處理的目的是為了構(gòu)建Binder.//因?yàn)楹罄m(xù)的跨進(jìn)程通信,都需要借助Binder.后續(xù)將此Binder發(fā)給AMS,AMS拿到App的IBinder,才能//夠通過AMS的服務(wù)來與APP通信。proc->startThreadPool(); //啟動Binder線程池//里面通過反射創(chuàng)建程序入口函數(shù)的Method對象,并返回Runnable對象return RuntimeInit.applicationInit();//類名字,類參數(shù),加載器-->return findStaticMain(args.startClass, args.startArgs,classLoader);//通過反射拿到對應(yīng)類的main方法的Method對象:找到的就是ActivityThread.java.main();-->m = cl.getMethod("main",new class[]{string[].class});return 近回一個(gè)Runnable 對象。}else{ //zygote 進(jìn)程}...//Runnable對象返回到這里,對應(yīng)上面代碼中的Runnable command = connection.processOneCommand();后面//繼續(xù)接著返回,最后返回到上面代碼的caller = ZygoteServer.runSelectLoop();if(caller != null)caller.run(); //執(zhí)行返回的Runnable對象,進(jìn)入子進(jìn)程。-->RuntimeInit.java.MethodAndArgsCaller->run();-->mMethod.invoke();//java反射原理。(執(zhí)行的是ActivityThread.java的main())

分析時(shí)需要注意的是,底層調(diào)用linux fork()接口之后,會有兩個(gè)返回值,如果pid =0,表示返回的是子進(jìn)程,如果pid >0,返回的是父進(jìn)程(即zygote的程序運(yùn)行路線),父進(jìn)程(zygote進(jìn)程)可以得知子進(jìn)程的pid號。

補(bǔ)充一個(gè)要點(diǎn):ApplicationThread是什么?它其實(shí)是一個(gè)IApplicationThread.Stub對象,通過IBinder對象進(jìn)行跨進(jìn)程通信訪問時(shí),ApplicationThread本質(zhì)就是Binder線程池中的一個(gè)線程(關(guān)聯(lián)到上面代碼中的proc->startThreadPool() )

http://m.risenshineclean.com/news/61695.html

相關(guān)文章:

  • qq空間認(rèn)證的網(wǎng)站后臺根目錄青島設(shè)計(jì)優(yōu)化公司
  • 政府網(wǎng)站平臺建設(shè)情況發(fā)布外鏈的步驟
  • 做音樂網(wǎng)站首頁要求雅思培訓(xùn)班價(jià)格一般多少
  • 導(dǎo)航網(wǎng)站開發(fā)用戶文檔新站seo優(yōu)化快速上排名
  • 玉林網(wǎng)站制作想做百度推廣找誰
  • 搬瓦工如何搭建做網(wǎng)站品牌營銷包括哪些內(nèi)容
  • 凡科輕站小程序靠譜嗎一級域名二級域名三級域名的區(qū)別
  • 個(gè)人注冊域名可以做網(wǎng)站么新聞熱點(diǎn)事件2024最新
  • php 企業(yè)網(wǎng)站管理系統(tǒng)百度站長平臺快速收錄
  • 制作網(wǎng)站建設(shè)寧德市委書記
  • 建設(shè)網(wǎng)站企業(yè)銀行關(guān)鍵詞全網(wǎng)搜索
  • 網(wǎng)站建設(shè)教程開源代碼下載競價(jià)托管 微競價(jià)
  • 采購管理系統(tǒng)免費(fèi)版seo企業(yè)優(yōu)化顧問
  • 濟(jì)南營銷型網(wǎng)站建設(shè)百度推廣400電話
  • 常州市建設(shè)工程質(zhì)監(jiān)站網(wǎng)站2022年十大流行語
  • 做網(wǎng)站運(yùn)營需要具備哪些能力賣網(wǎng)站鏈接
  • 域名交易網(wǎng)站源代碼下載全球十大搜索引擎排名
  • 凡科網(wǎng)站怎么做鏈接精準(zhǔn)引流獲客軟件
  • 平面設(shè)計(jì)要素石首seo排名
  • 做市場調(diào)查的網(wǎng)站百度信息流廣告
  • 北京 網(wǎng)站建設(shè)公司長沙seo行者seo09
  • 網(wǎng)站建設(shè)銷售技巧話術(shù)91永久免費(fèi)海外地域網(wǎng)名
  • 去年做那個(gè)網(wǎng)站致富免費(fèi)推廣引流軟件
  • 淘寶網(wǎng)站建設(shè)的主要工作怎么在百度做廣告
  • 濟(jì)南做網(wǎng)站的網(wǎng)絡(luò)公司西安seo服務(wù)公司排名
  • 網(wǎng)站建設(shè) 推廣 公司官網(wǎng)整站優(yōu)化
  • 怎么樣用ppt做網(wǎng)站百度最怕哪個(gè)部門去投訴
  • 市局政府網(wǎng)站建設(shè)管理情況匯報(bào)seo的作用主要有
  • 越秀網(wǎng)站建設(shè)設(shè)計(jì)自媒體是什么
  • 軟件公司網(wǎng)站建設(shè)安徽網(wǎng)站推廣公司