Android Zygote 分析

作者: cff70524f5cf | 来源:发表于2019-02-25 17:31 被阅读8次

本篇文章主要介绍 Android Zygote启动分析 知识点,通过阅读本篇文章,您将收获以下内容:

一、 Android 系统基本服务
二、虚拟机创建和第一个Java 程序引导
三、Dalvik 虚拟机基本配置
四、Zygote 启动流程
五、Zygote 启动分析
六、Zygote 创建system_server主要方法
七、Zygote 创建System_server 分析
八、Zygote 创建应用
九、Zygote 创建应用流程
十、Zygote 预加载资源
十一、Zygote 预加载的目的
十二、优化Zygote 启动方法: 线程池

一、 Android 系统基本服务

image.png

Android 系统基本服务

二、虚拟机创建和第一个Java 程序引导

image.png

虚拟机创建和第一个Java 程序引导

三、Dalvik 虚拟机基本配置

image.png

Dalvik 虚拟机基本配置

四、Zygote 启动流程

image.png

Zygote 启动流程

五、Zygote 启动分析

image.png

Zygote 启动分析

六、Zygote 创建system_server主要方法

image.png

Zygote 创建system_server主要方法

七、Zygote 创建System_server 分析

image.png

Zygote 创建System_server

八、Zygote 创建应用

image.png

Zygote 创建应用

九、Zygote 创建应用流程

image.png

Zygote 创建应用流程

十、Zygote 预加载资源

image.png

Zygote 预加载资源

image.png

preloadClasses()

image.png

preloadResources()

十一、Zygote 预加载的目的

image.png

Zygote 预加载的目的

十二、优化Zygote 启动方法: 线程池

Zygote 启动优化前提:

  • 1:加载类和资源是可重入操作,所以在并行模式下,不存在互斥的场景

  • 2:Android提供了Executors和ExecutorService多线程类,因此可以使用多线程来加载类和资源。

  • 3:硬件平台最好是多核,否则加速也不明显;

image.png

线程池 优化Zygote 启动

Zygote 启动优化实质:

使我们的进程最大限度的抢占CPU

【附】相关学习资料

Android进阶

image

移动架构师

image image

需要这些安卓学习资料和面试资料的大伙需要的关注+点赞+加群:185873940 免费获取!

群内还有许多免费的关于高阶安卓学习资料,包括高级UI、性能优化、架构师课程、 NDK、混合式开发:ReactNative+Weex等多个Android技术知识的架构视频资料,还有职业生涯规划及面试指导。

相关文章

网友评论

    本文标题:Android Zygote 分析

    本文链接:https://www.haomeiwen.com/subject/xrgeyqtx.html