引导映像加载(boot.oat、boot.art)
当 Android 启动时,它会加载一些boot images
包含一些经常使用的类。特别是boot.oat
包含类的代码,以及boot.art
一些预初始化的堆。这加速了应用程序的启动,并由于分页机制节省了一些内存。(更多细节在这里)
Zygote 预加载
在 ZygoteInit.java 中有一个preload函数。它预加载类、资源、共享库等
preloadClasses
,特别是加载在以下位置找到的类:
/system/etc/preloaded-classes
. 这基本上导致这些类的静态初始化程序运行。
它们有何不同?
两者有什么区别?boot.art
避免s
zygote preload进行显式初始化的唯一目的不是吗?
zygote不应该preload
只为imageless
启动而运行吗?