当前位置: 首页 > wzjs >正文

南充做网站公司哪家好北京seo优化外包

南充做网站公司哪家好,北京seo优化外包,武汉关键词排名推广,现在主流网站用什么做的文章目录 Android系统框架init配置文件关键功能 zygote作用面试相关 Android系统框架 框架图 Framework分层图 红色圈中的部分就是Framework部分 启动流程 init init是用户空间的鼻祖 init 进程初始化:init 进程会进行一系列初始化操作,像挂载文…

文章目录

  • Android系统框架
  • init
    • 配置文件
    • 关键功能
  • zygote
    • 作用
    • 面试相关

Android系统框架

  1. 框架图
    在这里插入图片描述

  2. Framework分层图
    红色圈中的部分就是Framework部分
    在这里插入图片描述

  3. 启动流程
    在这里插入图片描述

init

init是用户空间的鼻祖

  1. init 进程初始化:init 进程会进行一系列初始化操作,像挂载文件系统、设置系统属性、解析并执行初始化脚本等。
  2. 启动关键服务:init 进程会依据配置文件来启动系统的关键服务,例如 Zygote 进程、SurfaceFlinger 、MediaServer等。这些服务是安卓系统正常运行的基础。

配置文件

init 进程主要通过解析配置文件来确定要执行的操作和启动的服务。在安卓系统中,常见的配置文件有:

  • init.rc:这是最主要的初始化脚本,它定义了系统启动时需要执行的命令和启动的服务。该文件采用了特定的语法来描述服务、动作和属性。
  • init..rc:这是针对特定设备的初始化脚本,用于处理该设备特有的初始化需求。
  • init..rc:这是针对特定主板的初始化脚本,处理主板相关的初始化工作。

关键功能

  • 挂载文件系统:init 进程会挂载根文件系统以及其他必要的文件系统,像 /system、/data 等。
  • 设置系统属性:它会设置一系列系统属性,这些属性可用于控制系统的行为和配置。例如,ro.build.version.sdk 属性表示当前系统的 SDK 版本。
  • 启动服务:init 进程会依据配置文件启动各种系统服务,这些服务包括:
  • Zygote 进程:负责预加载 Java 虚拟机(JVM)和系统资源,为后续创建应用程序进程提供基础。
  • SurfaceFlinger:负责管理和合成系统的图形界面,确保界面的流畅显示。
  • MediaServer:提供媒体播放和录制的服务。
  • 处理信号和事件:init 进程会监听并处理各种信号和事件,比如系统关机、重启等。当接收到相应的信号时,它会执行相应的操作来保证系统的正常关闭或重启。

zygote

zygote是由init进程fork出来的,在Android中,DVM和ART、应用程序进程以及运行系统的关键服务的SyetemService进程都是由Zygote进程来创建的,所以称之为孵化器。
Zygote 进程是 Android 系统中由 init 进程启动的第一个 Java 进程,它运行着一个 Java 虚拟机(JVM)实例,并且预加载了大量的系统资源和类,能够快速创建新的应用程序进程和部分系统服务进程。

  • 加载虚拟机:Zygote 进程启动后,会加载 Dalvik 虚拟机(早期 Android 版本)或者 Android Runtime(ART,从 Android 5.0 开始)。
  • 预加载资源和类:Zygote 会预加载系统资源(如系统类库、字体、图片等)和常用的 Java 类(会有上万个类),这样在创建新进程时可以避免重复加载,提高进程创建的速度。
  • 监听 Socket:Zygote 进程会创建一个 Socket 并监听特定的端口,等待来自系统服务(如 ActivityManagerService–AMS)的请求,以创建新的应用程序进程。
  • SystemServer进程 由 Zygote 创建, SystemServer会创建service, SystemServer 启动的服务可能超过 100 个。
    在这里插入图片描述

作用

  • 提高进程创建速度:由于 Zygote 预加载了系统资源和类,新进程可以通过复制 Zygote 进程快速创建,避免了每次创建进程时都要重新加载这些资源,大大缩短了应用程序的启动时间。
  • 节省内存:多个应用程序进程可以共享 Zygote 进程中预加载的资源,减少了内存的重复占用,提高了系统的内存使用效率。
  • 保证系统稳定性:Zygote 进程作为一个独立的进程,负责管理 Java 虚拟机和系统资源的加载,降低了应用程序进程对系统的影响,提高了系统的稳定性和可靠性。
    在这里插入图片描述

面试相关

为什么app从zygote fork而不是从init fork(预加载后fork的进程可以共享)。
怎么优化zygote加快启动速度(比如加载的类有上万个,可以异步并发加载)。
作者:帅得不敢出门

http://www.dtcms.com/wzjs/418869.html

相关文章:

  • 网站建设公司杭州泰州seo公司
  • 做网站做软件怎么赚钱深圳网络营销策划公司
  • 自助网站建设用什么好seo优化技术
  • 大型网站如何开发百度识图搜索图片来源
  • 淄博周村网站建设报价广点通广告投放平台登录
  • 微网站做下载链接nba赛程排名
  • 网站建设评判东营seo整站优化
  • 怎么查找网站后台百度seo排名优化软件化
  • 如何在自己电脑上做网站附近电脑培训班位置
  • 做网站想注册商标是哪一类杭州seo营销公司
  • 合肥高端网站开发百度优化排名软件
  • 北京网页设计与制作教程南京seo圈子
  • 企业型网站制作免费注册
  • 重庆建设网站首页百度上做推广怎么做
  • 做网站开发的有哪些公司免费的seo优化工具
  • 怎样免费做自己的网站关键词优化公司哪家好
  • 请柬网站开发百度竞价项目
  • wampserver和wordpress宁波seo推广优化哪家强
  • 龙岩装修公司广东网络seo推广公司
  • 网站建设与网页设计论文制作网站需要什么软件
  • 网站开发需要用什么微信推广文案
  • 国外的ui设计思想网站在线观看的seo综合查询
  • Wordpress plan谷歌seo推广招聘
  • 定州做网站无锡网络推广平台
  • 贵阳网站方舟网络最好seo优化的主要任务
  • 动态网站开发技术实训报告百度推广有哪些推广方式
  • 深圳建筑网站建设上海广告公司排名
  • 新疆响应式网站建设网站优化软件
  • 百色住房和城乡建设部网站2022最新时事新闻及点评
  • 成都市建设交通委员会网站百度关键词排名价格