通过之前的源码 分析 我们 看到了zygote 的源码 以及它里面的一些东西。 然后我这里画了一个图来 总结一下 

Android Framework 之 zygote 副篇

zygote 是负责fork 出一些其他进程的。我们的app 启动 的主进程 都是通过zygote 来进行的,那么为什么要通过zygote 来进行fork 为什么不新建了进程呢。。  其实是因为 zygote 在创建的时候预加载了一些 资源 如 系统库  opengl android 等等 还有  系统类 一些资源,会做一些预加载工作。linux 中有一个 写时复制 技术(copy on write ) 就是 子进程 会 拥有与父进程 相同的资源 。所以 我们通过fork 出来的进程 就会共享这些预加载的资源 。 

关于copy on write 技术可以看看这篇文章 

Linux写时拷贝技术(copy-on-write)

相关文章:

  • 2021-05-09
  • 2022-12-23
  • 2022-02-14
  • 2021-06-29
  • 2021-11-05
  • 2021-04-30
  • 2018-08-10
  • 2021-05-20
猜你喜欢
  • 2022-03-04
  • 2022-12-23
  • 2021-06-13
  • 2021-11-07
  • 2021-09-01
  • 2022-01-05
  • 2021-09-21
相关资源
相似解决方案