关于framework中的某些源码的分析,只记录下结论,以及主要的一些地方,具体的代码逻辑就不一一分析了,平时也不一定能用得上,需要用到的时候在根据记录的一些标记去寻找。这样方便记录与查看,没那么费脑。

  • zygote

zygote(受精卵)进程类似于Android的母进程,起始进程,Android系统的一些系统进程和应用程序进程都是通过Zygote进程fork出来的。

  • 流程:

Linux系统的init进程会启动Zygote进程(调用ZygoteInit.main方法),然后Zygote进程会把SystemServer进程fork出来,其它的应用程序的进程也会在启动的时候由Zygote进程fork出来。

  • ZygoteInit主要工作:

1)注册Zygote进程的服务端socket;

2)加载class,resource,opengl,webview的各种资源;

3)fork出systemserver进程,启动进程;

4)调用runSelectLoop()方法,一直监听socket消息,阻塞,等待命令;

5)收到创建应用程序的客户端socket消息之后,通过Zygote.forkAndSpecialize创建进程。

Zygote简要分析相关推荐

  1. Android5.0源码分析—— Zygote进程分析

    1      Zygote简介 Android的应用程序一般都是由Java语言编写而成的,这样的应用程序需要运行在独自的Dalvik虚拟机之上(当然,5.0好像默认了ART了).但是,如果在每一个进程 ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析...

    构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析 原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入 ...

  3. [Java] HashMap 源码简要分析

    特性 * 允许null作为key/value. * 不保证按照插入的顺序输出.使用hash构造的映射一般来讲是无序的. * 非线程安全. * 内部原理与Hashtable类似. 源码简要分析 publ ...

  4. Android Hal层简要分析

    Android Hal层简要分析 Android Hal层(即 Hardware Abstraction Layer)是Google开发的Android系统里上层应用对底层硬件操作屏蔽的一个软件层次, ...

  5. 【安全漏洞】简要分析复现了最近的ProxyShell利用链

    前言 近日,有研究员公布了自己针对微软的Exchange服务的攻击链的3种利用方式.微软官方虽然出了补丁,但是出于种种原因还是有较多用户不予理会,导致现在仍然有许多有漏洞的服务暴露在公网中,本文主要在 ...

  6. Android6.0源码分析—— Zygote进程分析(补充)

    原文地址: http://blog.csdn.net/a34140974/article/details/50915307 此博文为<Android5.0源码分析-- Zygote进程分析> ...

  7. android6.0源码分析之Zygote进程分析

    在android6.0源码分析之Runtime的初始化一文中,对Zygote进程的初期的Runtime初始化过程进行了分析,在Runtime启动结束后,会对Zygote进程进行初始化,其它Java进程 ...

  8. Android L Settings 简要分析

    1.本文说明 本文主要针对L平台上Settings模块正常启动流程做一个简要分析,并试着分析一下Settings下面Storage选项的实现过程. 2.Settings概览 在之前的KK平台上Sett ...

  9. Android 5.1 Settings源码简要分析

    概述: 先声明:本人工作快两年了,仍是菜鸟级别的,惭愧啊!以前遇到好多知识点都没有记录下来,感觉挺可惜的,现在有机会接触Android 源码.我们一个Android组的搞Setting,我觉得是得写得 ...

最新文章

  1. 读懂ConnectString 中 enlist 设置的含义
  2. 每日一皮:简历上写着熟练掌握…实际往往是这样的...
  3. python网络爬虫权威指南 百度云-Python网络爬虫权威指南 PDF 第2版
  4. C#中计时器Stopwatch的使用
  5. mysql libs 5.1.71_用python创建数据库监控平台(1)安装MySQL5.7
  6. phpmyadmin mysql float 长度_mysql – phpMyAdmin – “请输入有效长度”
  7. 关于启动Activity之间的及普通按钮的点击事件
  8. 【正点原子探索者STM32F407开发板例程连载+教学】第44章 FATFS文件系统实验
  9. AirServer第三方投屏软件v7.3.0中文版 (Airplay终端实用工具)
  10. pyhong爬虫——大众点评——用户信息
  11. netcfg 进程分析
  12. 微信公众号页面开发记录
  13. Linux系统引导过程及排除启动故障
  14. 网络基本功(二十四):Wireshark抓包实例分析TCP重传
  15. 仅仅因为方法 Too Simple 就被拒稿,合理吗?
  16. Delphi图像处理 -- 彩色浮雕
  17. 『2048』苏晓辉の转专业面试作品 · 纪念品
  18. JS设计模式之代理模式-虚拟代理
  19. 功能简单的erp软件
  20. 双线路服务器优势,双线服务器的原理和优势

热门文章

  1. activemq原理_ActiveMQ(二)
  2. (6)蜂鸣器(又称音调报警)
  3. 解决Y9000K-2070Super在Ubuntu下安装nvidia显卡驱动后黑屏的问题
  4. Maven 的assembly插件使用
  5. jpa多表联查动态_jpa动态查询与多表联合查询
  6. 从汶川地震看中国名企的企业社会责任(CSR)
  7. vue 解决:Syntax Error: ValidationError: Invalid options object. Sass
  8. stm32进入停止模式,中断 唤醒
  9. c语言中去掉全角空格,c#中去掉字符串空格方法
  10. AVpacket与avframe