Android 虚拟机及其GC机制

参考文章:
理解Android虚拟机体系结构
Android内存管理原理
Android ART运行时无缝替换Dalvik虚拟机的过程分析
Android应用程序进程启动过程的源代码分析
Android 内存管理 &Memory Leak & OOM 分析

Android 虚拟机及其GC机制_第1张图片
Paste_Image.png

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)字体显示。
Android 虚拟机及其GC机制_第2张图片
Paste_Image.png
Android 虚拟机及其GC机制_第3张图片
Paste_Image.png
Android 虚拟机及其GC机制_第4张图片
Paste_Image.png
Android 虚拟机及其GC机制_第5张图片
Paste_Image.png
Android 虚拟机及其GC机制_第6张图片
Paste_Image.png
Android 虚拟机及其GC机制_第7张图片
Paste_Image.png
Android 虚拟机及其GC机制_第8张图片
Paste_Image.png
Android 虚拟机及其GC机制_第9张图片
Paste_Image.png
Android 虚拟机及其GC机制_第10张图片
Paste_Image.png
Android 虚拟机及其GC机制_第11张图片
Paste_Image.png
Android 虚拟机及其GC机制_第12张图片
Paste_Image.png
Android 虚拟机及其GC机制_第13张图片
Paste_Image.png

有两个问题纠正下:
1.dalvik 虚拟机里的垃圾回收分别在mark跟 sweep时中断了线程,两次
ART虚拟机垃圾回收是进行了优化只回收的时候中断了一次线程
2.Dalvik 虚拟机GC是Mark-sweep算法 ,而ART(Android5.)虚拟机除了mark-sweep算法之外加了一种基于半空间(semi-space)的拷贝算法(就是copy算法)

你可能感兴趣的:(Android 虚拟机及其GC机制)