参考文章:
理解Android虚拟机体系结构
Android内存管理原理
Android ART运行时无缝替换Dalvik虚拟机的过程分析
Android应用程序进程启动过程的源代码分析
Android 内存管理 &Memory Leak & OOM 分析
1.sufaceManager: 当系统同时执行多个应用程序时,Surface Manager会负责管理显示与存取操作间的互动,另外也负责将2D绘图与3D绘图进行显示上的合成。
surface manager 可以准备一块 surface(可以看作一个layer),把 surface 的 fd (一块内存) 传给一个 app,让 app 可以在上面作画。
2.openGL |ES: 三维图形
3.SGL:2D图形引擎
4.ssl: 网络通信的安全协议
- Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
- LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
- SGL - 底层的2D图形引擎
- 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。
- FreeType -位图(bitmap)和矢量(vector)字体显示。
有两个问题纠正下:
1.dalvik 虚拟机里的垃圾回收分别在mark跟 sweep时中断了线程,两次
ART虚拟机垃圾回收是进行了优化只回收的时候中断了一次线程
2.Dalvik 虚拟机GC是Mark-sweep算法 ,而ART(Android5.)虚拟机除了mark-sweep算法之外加了一种基于半空间(semi-space)的拷贝算法(就是copy算法)
网友评论