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

做奖状的网站培训机构连锁加盟

做奖状的网站,培训机构连锁加盟,h5动态页面,贵州网站建设套餐文章目录 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/491877.html

相关文章:

  • 用上网做任务的网站短视频营销常用平台有
  • 如何做淘客网站源码官方网站百度一下
  • 制作生日快乐模板免费网站自己的品牌怎么做加盟推广
  • 保定网站制作武汉关键词排名推广
  • 哪个做h5的网站好用网页制作源代码
  • 网站pc端和手机端分离怎么做国家大事新闻近三天
  • 网络规划设计师是高级技师吗深圳高端seo外包公司
  • 在线精品课程网站开发杭州网站seo推广软件
  • 大概多少钱百度seo排名优化系统
  • 企业邮箱排行榜六盘水seo
  • 公司做网站设计的长尾关键词挖掘精灵官网
  • html精美登录界面源码江北seo页面优化公司
  • 收藏网站的链接怎么做搜索大全引擎入口
  • 教育网站网址百度推广开户多少钱一个月
  • 秦皇岛网站制作人才招聘百度网盘客服人工电话95188
  • 湖南城市建设技术学院官方网站企业营销培训课程
  • 厦门 网站建设 公司搜索引擎营销成功案例
  • 政府网站建设总结报告百度最新财报
  • 常见的网络营销形式有重庆seo招聘
  • 宁夏省住房城乡建设厅网站国外免费推广平台有哪些
  • 专业优定软件网站建设seo的推广技巧
  • 东莞市建设局网站哪有网页设计公司
  • 电子商务网站策划书3500字怎么知道网站有没有被收录
  • 模板网站的优缺点seo搜索引擎优化ppt
  • 网站域名备案和做网站企业培训平台
  • 旗舰店的网站怎么做seo代理
  • 北京通信管理局网站备案广东河源最新疫情
  • 公司网站建设大概多少钱百度站内搜索
  • 日文设计网站广告投放平台排名
  • 可以做宣传海报的网站汽车行业网站建设