Androidgraphics内部
我还没有find关于Androidgraphics系统如何工作的明确解释,具体来说,是使用显示服务器,是基于DirectFB还是X11等。
从我设法拼凑在一起,Android依赖于Linux帧缓冲区 。 我还没有find什么样的显示服务器或窗口pipe理器 Android用来多路访问帧缓冲区,所以任何指针将不胜感激!
最后,从我所了解的ARM指令集提供的OpenGL加速指令来看,如何将这与显示服务器集成在一起还不是很清楚, 客户端应用程序是否会协商客户端直接写入的共享内存缓冲区?
平台加速器的OpenGL库是开源的吗? 我发现一些引用暗示他们是封闭的源代码二进制文件。 再次,任何指针将不胜感激。
Androidgraphics有两个核心部分:SurfaceFlinger和Skia。 SurfaceFlinger是Android的合成器,由窗口pipe理器用来创build和显示窗口(实际上称为曲面)。SurfaceFlinger目前在OpenGL ES 1.x之上实现,也可以使用其他硬件加速技术(MDP,2D模糊T-Mobile G1或Xoom上的硬件覆盖层)。
每个应用程序主要使用Skia渲染到其窗口(或曲面)中。 Skia是Android的2Dgraphics库。 您也可以使用OpenGL ES 1.x和2.0渲染表面。
Android不使用DirectFB或X11或任何其他现有的Linux解决scheme。
有一个关于Androidgraphics的简短介绍: http : //www.slideshare.net/jserv/design-and-concepts-of-android-graphics
罗曼·盖伊绝对是对的。 但自从Android 3.0以来,事情发生了变化 Skia不再那么重要,大多数2D绘图都是使用OpenGL加速的,也就是HWUI组件。
所有关于androidgraphics的信息可以在这里find:
- 升级到AppCompat v22.1.0,现在得到IllegalArgumentException:AppCompat不支持当前的主题function
- 如何在Android Studio中使用快捷方式自动导入必要的类?
- 在com.android.build.gradle.internal.api.ApplicationVariantImpl找不到属性'outputFile'
- 如何将短信保存到android收件箱?
- 如何在Android中调整图像大小?
- android:ACTION_UP和ACTION_POINTER_UP之间的区别
- 如何从ListView中获取所有选中的项目?
- Android 6上的存储访问如何更改?
- 使用JavaMail API在Android中发送电子邮件,而不使用默认/内置应用程序