博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android图形显示系统——下层显示1:基础知识与相关文件
阅读量:6229 次
发布时间:2019-06-21

本文共 1044 字,大约阅读时间需要 3 分钟。

hot3.png

基础知识和相关文件

基础知识

Android下层显示相关的代码相对而言并不是很多,核心部分在三件厂商或SOC厂商提供/集成的驱动之中。尽管如此,这部分代码涉及到一系列基础类库,不了解的话也很难读懂。

这些基础知识这里只做简单介绍,详细了解看链接或可自行百度或Google

binder/Service

Android中用于进程间通信的基本方法,需要了解它是怎么使用的,不然会搞不明白surfaceflinger服务怎么起来,怎么发挥作用的。

Thread

Android自己实现的线程类封装。主要关注子类需要重写哪些虚函数,做什么事情。

system/core/libutils/Threads.cpp
这篇文章可以参考一下,不过 libutils的目录在Android4.4之后改到system/core下面了。

sp/wp

Android里面的智能指针和弱引用,基础类型了,主要留意onFirstRef的调用时机。

MessageHandler/Loop

Android中的消息处理机制,对显示而言,主要是用来做vsync垂直同步时用到。

Zygote

Android所有进程的父进程,涉及开机动画。不过这部分代码和上层显示关联更多(预加载)。

OpenGL和EGL

图形标准和窗口标准。使用GPU硬件加速功能必须。

OpenGL没什么文章能讲清的,没有背景知识的了解一下就好。
EGL可以参考这篇:

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

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

转载于:https://my.oschina.net/jxt1234and2010/blog/517723

你可能感兴趣的文章
apache服务器日志分析程序webalizer
查看>>
Trunk实现不同VLAN之间 相同网段的互通
查看>>
(版本定制)第8课:Spark Streaming源码解读之RDD生成生命周期彻底研究和思考
查看>>
为底层元素注册监听器
查看>>
ZeroTurnaround(做 JRebel 的公司)关于 Java 类动态重载的一系列文章
查看>>
awk级sed处理下一行
查看>>
windows中如何查看本机的MAC地址和主机名
查看>>
Javascript 中的上下文
查看>>
raid 相关收集
查看>>
选购邮件系统五大指标看U-Mail对比国际大牌
查看>>
3. JDK Map
查看>>
eclipse下avd无法启动解决办法
查看>>
《HTML与CSS知识》系列分享专栏
查看>>
vcpkg win10下编译zlib失败
查看>>
SIP协议解析
查看>>
windows7&8下安装变色龙到隐藏分区的方法
查看>>
系统找不到指定的文件 C:\WINDOWS\system32\<LANG_NAME>\mstsc.exe.MUI
查看>>
解决hal.dll丢失问题 调试方法启动XP
查看>>
The CVS Client/Server Protocol
查看>>
NSDateFormatter 真机调试
查看>>