Android图形显示系统——下层显示1:基础知识与相关文件-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

Android图形显示系统——下层显示1:基础知识与相关文件

简介: 基础知识和相关文件 基础知识 Android下层显示相关的代码相对而言并不是很多,核心部分在三件厂商或SOC厂商提供/集成的驱动之中。尽管如此,这部分代码涉及到一系列基础类库,不了解的话也很难读懂。 这些基础知识这里只做简单介绍,详细了解看链接或可自行百度或Google binder/Service Android中用于进程间通信的基本方法,需要了解它是怎么使用

基础知识和相关文件

基础知识

Android下层显示相关的代码相对而言并不是很多,核心部分在三件厂商或SOC厂商提供/集成的驱动之中。尽管如此,这部分代码涉及到一系列基础类库,不了解的话也很难读懂。
这些基础知识这里只做简单介绍,详细了解看链接或可自行百度或Google

binder/Service

Android中用于进程间通信的基本方法,需要了解它是怎么使用的,不然会搞不明白surfaceflinger服务怎么起来,怎么发挥作用的。
http://blog.csdn.net/new_abc/article/details/8097775

Thread

Android自己实现的线程类封装。主要关注子类需要重写哪些虚函数,做什么事情。
system/core/libutils/Threads.cpp
这篇文章可以参考一下,不过 libutils的目录在Android4.4之后改到system/core下面了。
http://www.csdn123.com/html/blogs/20130802/46970.htm

sp/wp

Android里面的智能指针和弱引用,基础类型了,主要留意onFirstRef的调用时机。
http://blog.chinaunix.net/uid-24922718-id-3787722.html

MessageHandler/Loop

Android中的消息处理机制,对显示而言,主要是用来做vsync垂直同步时用到。
http://www.cnblogs.com/angeldevil/p/3340644.html

Zygote

Android所有进程的父进程,涉及开机动画。不过这部分代码和上层显示关联更多(预加载)。
http://blog.csdn.net/zhgxhuaa/article/details/24201127

OpenGL和EGL

图形标准和窗口标准。使用GPU硬件加速功能必须。
OpenGL没什么文章能讲清的,没有背景知识的了解一下就好。
EGL可以参考这篇:
http://blog.csdn.net/ldh_123456/article/details/17422479

Android下层显示主要相关文件

系统头文件

上层库共享接口定义

system/core/include/system/graphics.h
system/core/include/system/window.h

硬件模块接口定义

hardware/libhardware/include/hardware/gralloc.h
hardware/libhardware/include/hardware/hwcomposer_defs.h
hardware/libhardware/include/hardware/hwcomposer.h

系统库

主要模块和相关类如下图所示:
系统库与类

驱动

设备相关的HAL层驱动各厂商并不相同且一般属于保密信息,Kernel也主要是根据芯片使用手册配置寄存器,不适合讲且没有太多参考价值。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: