Framework启动过程

了解android的都知道,android系统是建立在linux内核以上,添加了硬件抽象层(保护厂商的利益,保密各种硬件参数),然后搭建了android Framework,android应用就运行在最顶端。

在这里,简要记录自己对Framework启动过程的理解。 

首先系统在启动linux内核后,开始启动Framework层。Framework层,是从什么开始启动的呢?linux启动结束的最后,读取init.rc文件,该文件中定义了各种服务程序参数,其中包括Zygote的配置参数。 系统通过app_process启动Zygote进程(该进程包含两个主体,Socket服务端,用于接收启动新的Dalvik进程命令;Framework共享类和共享资源,以至于其他Dalvik启动时,不需要重复装载资源)。当系统的第一个Dalvik进程(zygote)启动后,Socket服务端就可以启动新的Dalvik进程(应用等)。zygote最先启动的进程是SystemServer,这个Dalvik进程启动了Socket客户端,并由Ams负责管理,实际上,Ams是通过Dalvik进程启动的Socket客户端,IPC调用,与zygote通信,通过zygote的Socket服务端,调用DalvikVM,启动新的Dalvik进程。

综上所述,当linux系统启动结束时,读取framework服务配置文件,然后启动第一个zygote DalvikVM进程,启动Socket服务端,用于接收新的启动Dalvik进程命令;准备共享的类和资源。zygote又启动一个SystemServer Dalvic进程,SystemServer启动了Socket客户端,并且由Ams管理, 典型的Binder框架。这样就可以通过Socket客户端进行远程调用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值