浅显的总结一下Framework启动大概过程

总体

Android底层是linux系统,因而在开机时仍然是运行天字第一号进程inti,读取init.rc来创建第一个Dalvik进程zygote,下面是个Framework启动的整体图

1 、Init进程

Linux系统天字第一号进程,在我们眼中吊的飞起的Android系统在LInux中只不过是一个linux的一个应用程序而已,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程.需要读取一下配置文件

Init.rc

Init.marvell.rc

然后进入创建zygote(受精卵)

2、zygote

第一个Dalvik虚拟机程序Zygote(受精卵),接下来所有的Dalvik虚拟机进程都是由它孵化出来,他创建时主要做了2件事

(1)Socket服务端:接受启动新的Dalvik进程的命令

(2)Framework共享类及共享资源:zygote进程启动后会装载一些共享的类和资源,这样新的Dalvik进程就不需要再次装载

然后就开始孵化第一个Dalvik进程SystemSever

在zygote启动中时,为了便于理解将其总结为5个部分

3、SystemSever

Android的所有服务循环框架都是建立SystemServer@(SystemServer.Java)上。在SystemServer.java中看不到循环结构,只是可以看到建立了init2的实现函数,建立了一大堆服务,并AddService到service Manager。其中最重要的服务当属ActivityManagerSever(Ams),实在systemReady()调用后启动的,主要跟管理Activity启动相关,总结如下

4、启动Activity

AMS构造Activity对象放入mMainStack队列,则第一个运行的Actviity就是该Activity

转载:http://blog.csdn.net/xsf50717/article/details/47167989

Framework启动过程浅析相关推荐

  1. android actviity模糊,Framework启动过程浅析

    浅显的总结一下Framework启动大概过程 总体 Android底层是linux系统,因而在开机时仍然是运行天字第一号进程inti,读取init.rc来创建第一个Dalvik进程zygote,下面是 ...

  2. Framework学习(二)Android的启动过程

    Android设备的启动过程 上一张介绍了Android的系统的整体架构,认识了体系的构造,今天就讲一下,Android的系统的启动过程. 看了架构图,我们知道架构的设计是至上而下的,但是,Andro ...

  3. Framework学习(五)应用程序启动过程

    注释1处设置Flag为Intent.FLAG_ACTIVITY_NEW_TASK,这样根Activity会在新的任务栈中启动. 注释2处调用了Activity的startActivity函数. fra ...

  4. Android FrameWork——Activity启动过程详解

    前面发了blog分析了ActivityManager框架的大体结构,主要就是一个进程通信机制,今天我通过深入Activity的启动过程再次深入到ActivityManager框架,对其进行一个更深入的 ...

  5. linux文件系统启动流程,linux 内核启动过程以及挂载android 根文件系统的过程

    转载 作者:汕头大学-黄珠唐 时间:2009 年10 月29 日 主要介绍linux 内核启动过程以及挂载android 根文件系统的过程,以及介绍android 源代码中文件系统部分的浅析. 主要源 ...

  6. Android 5.1 Lollipop Phone工作流程浅析(十三)__InCallActivity启动Performance浅析

    前置文章: < Android 4.4 Kitkat Phone工作流程浅析(一)__概要和学习计划> <Android 4.4 Kitkat Phone工作流程浅析(二)__UI结 ...

  7. Windows Phone开发(二)-- 框架结构和启动过程

    一 Windows Phone 框架结构 在进行Windows Phone开发之前有必要了解一下整个全新平台的结构.对于Windows Phone平台来说,区别于之前的Windows Mobile平台 ...

  8. Spring 容器的启动过程

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本文来源:http://r6f.cn/b47K 一. 前言 ...

  9. Dalvik VM进程系统(二):分析Zygote的启动过程

    Android系统进程启动流程 android系统的Zygote进程是所有android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的.Zygote(孵 ...

最新文章

  1. 你最需要了解的H3C交换机端口安全模式
  2. 3D目标检测深度学习方法之voxel-represetnation内容综述(二)
  3. shell中判断空字符串和有趣的空字符串
  4. 当c语言老师遇到网络崩溃,网络教学搞不定?工科教授来支招!
  5. jsp点选框_Jsp单选框
  6. 编译Bootstrap3
  7. 沟通CTBS V5.0发布, 南北通及安全性成最大亮点
  8. http服务器和application服务器区别
  9. 数学知识在计算机专业的运用,数学在计算机科学及应用中的作用分析
  10. diskpart clean误操作数据恢复
  11. c语言源代码三角函数大全,【C语言及程序设计】项目2-9-3:编制三角函数表
  12. 包络线公式如何用计算机求,包络线公式
  13. python 闭包 lambda_Python lambda闭包范围
  14. 微信辅助注册平台源码
  15. 计算机有几个无法修改的磁盘,电脑磁盘名称无法修改的解决方法
  16. 集合 01集合的概念
  17. 百万CT网上卖,东软医疗这样推动行业阳光采购
  18. python按指定概率抽样_python:抽样和抽样方法
  19. 你浏览器的书签栏还够用么? - 程序员学点xx 特辑
  20. android手机可以换字体吗,Android手机字体随意换-字体管家

热门文章

  1. SHELL脚本 基础一
  2. 机器人铁锈斑斑皮肤怎么买_脸上出现了皱纹,变难看,怎么办?几招轻松改善皱纹...
  3. 计算机三级考试c,全国计算机等级考试——三级c语言机试答案
  4. android选择下拉框的默认值,如何在Android中将默认值设置为微调器下拉列表?
  5. Cadence 16.3 使用步骤
  6. 【 C 】初识函数指针
  7. 【FPGA】Buffer专题介绍(二)
  8. 【Oracle】表空间相关集合
  9. 0元力压0.1元,中国电信中标连云港政务云项目
  10. mongoengine中queryset触发网络访问机制剖析