标签: 进程启动

Android应用程序进程启动过程的源代码分析(六)

上文从peers.get(index)得到的是一个ZygoteConnection对象,表示一个Socket连接。 因此,接下来就是调用ZygoteConnection.runOnce函数进一步处理了。 Step 6. ……

Android应用程序进程启动过程的源代码分析(三)

上文的mDriverFD是设备文件/dev/binder的打开描述符,如果成功打开了这个设备文件,那么它的值就会大于等于0,因此,它的返回值为true。 回到Process.start函……

Android应用程序进程启动过程的源代码分析(七)

从peers.get(index)得到的是一个ZygoteConnection对象,表示一个Socket连接,接下来就是调用ZygoteConnection.runOnce函数进一步处理了。 上文调用了handleChi……

Android应用程序进程启动过程的源代码分析(四)

上文中的函数将创建进程的参数放到argsForZygote列表中去。 如参数"--runtime-init"表示要为新创建的进程初始化运行时库,然后调用zygoteSendAndGetPid函数进……

Android应用程序进程启动过程的源代码分析(八)

由于在前面的Step 3中,指定了"--runtime-init"参数,表示要为新创建的进程初始化运行时库,因此,上文的parseArgs.runtimeInit值为true,于是就继续执行Runti……

Android应用程序进程启动过程的源代码分析(一)

Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持 Binder进程间通信机制;这两个特点都是在……

Android应用程序进程启动过程的源代码分析(五)

上文中的Socket由frameworks/base/core/java/com/android/internal/os/ZygoteInit.java文件中的ZygoteInit类在runSelectLoopMode函数侦听的。 Step 5. ZygoteI……

Android应用程序进程启动过程的源代码分析(二)

上文我们调用了Process.start函数开始为应用程序创建新的进程。 注意,它传入一个***个参数为"android.app.ActivityThread",这就是进程初始化时要加载的Java……