码迷,mamicode.com
首页 > 移动开发 > 详细

Android启动过程

时间:2017-09-13 14:04:30      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:nbsp   init.rc   java虚拟机   str   androi   系统   oid   一个   tar   

1、背景知识                                                         

Init进程是Linux环境下非常重要的一个进程,而Zygote进程是Java环境下的第一个进程,所有其他环境下的进程都是由Zygote进程来进行fork的,而init进程在启动Zygote进程之后,初始化Zygote进程之前,会先进行Android Runtime的启动和环境建立。

Init进程主要负责文件系统的挂载,属性的初始化,各种配置的加载启动以及Action触发,Service的启动。Zygote作为Java环境下的服务进程,也在Init.rc中进行了配置,而init进程是由main函数进行触发。

 

2、Android运行时的启动分析                                

首先创建一个AppRuntime对象,接着调用它的start方法,而此start方法在父类AndroidRuntime中进行了定义,并且此处的参数为com.android.internal.os.ZygoteInit。

在系统建立androidRuntime的时候,创建Java虚拟机,并将系统中一些JNI函数注册到Java虚拟机中,此后只需要通过JNI就可以调用这些Native方法。

 

Android启动过程

标签:nbsp   init.rc   java虚拟机   str   androi   系统   oid   一个   tar   

原文地址:http://www.cnblogs.com/fankongkong/p/7514356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!