日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android應(yīng)用程序進(jìn)程啟動(dòng)過程的源代碼分析(三)

上文的mDriverFD是設(shè)備文件/dev/binder的打開描述符,如果成功打開了這個(gè)設(shè)備文件,那么它的值就會(huì)大于等于0,因此,它的返回值為true。

公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出嶗山免費(fèi)做網(wǎng)站回饋大家。

回到Process.start函數(shù)中,它調(diào)用startViaZygote函數(shù)進(jìn)一步操作。

Step 3. Process.startViaZygote

這個(gè)函數(shù)定義在frameworks/base/core/java/Android/os/Process.java文件中:

 
 
  1. [java] view plaincopypublic class Process {
  2.   ......
  3.   private static int startViaZygote(final String processClass,
  4.   final String niceName,
  5.   final int uid, final int gid,
  6.   final int[] gids,
  7.   int debugFlags,
  8.   String[] extraArgs)
  9.   throws ZygoteStartFailedEx {
  10.   int pid;
  11.   synchronized(Process.class) {
  12.   ArrayList argsForZygote = new ArrayList();
  13.   // --runtime-init, --setuid=, --setgid=,
  14.   // and --setgroups= must go first
  15.   argsForZygote.add("--runtime-init");
  16.   argsForZygote.add("--setuid=" + uid);
  17.   argsForZygote.add("--setgid=" + gid);
  18.   if ((debugFlags & Zygote.DEBUG_ENABLE_SAFEMODE) != 0) {
  19.   argsForZygote.add("--enable-safemode");
  20.   }
  21.   if ((debugFlags & Zygote.DEBUG_ENABLE_DEBUGGER) != 0) {
  22.   argsForZygote.add("--enable-debugger");
  23.   }
  24.   if ((debugFlags & Zygote.DEBUG_ENABLE_CHECKJNI) != 0) {
  25.   argsForZygote.add("--enable-checkjni");
  26.   }
  27.   if ((debugFlags & Zygote.DEBUG_ENABLE_ASSERT) != 0) {
  28.   argsForZygote.add("--enable-assert");
  29.   }
  30.   //TODO optionally enable debuger
  31.   //argsForZygote.add("--enable-debugger");
  32.   // --setgroups is a comma-separated list
  33.   if (gids != null && gids.length > 0) {
  34.   StringBuilder sb = new StringBuilder();
  35.   sb.append("--setgroups=");
  36.   int sz = gids.length;
  37.   for (int i = 0; i < sz; i++) {
  38.   if (i != 0) {
  39.   sb.append(',');
  40.   }
  41.   sb.append(gids[i]);
  42.   }
  43.   argsForZygote.add(sb.toString());
  44.   }
  45.   if (niceName != null) {
  46.   argsForZygote.add("--nice-name=" + niceName);
  47.   }
  48.   argsForZygote.add(processClass);
  49.   if (extraArgs != null) {
  50.   for (String arg : extraArgs) {
  51.   argsForZygote.add(arg);
  52.   }
  53.   }
  54.   pid = zygoteSendArgsAndGetPid(argsForZygote);
  55.   }
  56.   }
  57.   ......
  58.   }

這個(gè)函數(shù)將創(chuàng)建進(jìn)程的參數(shù)放到argsForZygote列表中去,如參數(shù)"--runtime-init"表示要為新創(chuàng)建的進(jìn)程初始化運(yùn)行時(shí)庫,然后調(diào)用zygoteSendAndGetPid函數(shù)進(jìn)一步操作。


分享題目:Android應(yīng)用程序進(jìn)程啟動(dòng)過程的源代碼分析(三)
網(wǎng)頁URL:http://m.5511xx.com/article/ccdoohi.html