Android图形显示系统——下层显示1:基础知识与相关文件
博客专区 > jxt1234 的博客 > 博客详情
Android图形显示系统——下层显示1:基础知识与相关文件
jxt1234 发表于2年前
Android图形显示系统——下层显示1:基础知识与相关文件
  • 发表于 2年前
  • 阅读 12
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

基础知识和相关文件

基础知识

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也主要是根据芯片使用手册配置寄存器,不适合讲且没有太多参考价值。

版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: 显示 android 系统
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 36
码字总数 41634
×
jxt1234
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: