自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

maxleng的专栏

正在研究Android

  • 博客(6)
  • 收藏
  • 关注

原创 Android核心分析(28)-----Android GDI之Surface&Canvas

Surface&Canvas     Canvas为在画布的意思。Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装。drawPaints ,drawPoints,drawRect,drawBitmap ... 1 Canvas与Surface之间本质关系      对于本节,我们不去研究Skia图形引擎本身,我们需要了解的我们的所做的图形到底放置到了那个地方,并且这个Canvas如何与Surface连接在一起的。 Canvas(Java)在C++

2010-06-14 22:05:00 38584 37

原创 Android核心分析(27)-----Android GDI 之SurfaceFlinger之动态结构示意图

SurfaceFlinger对象建立过程示意   1 SurfaceSession的建立     客户端请求建立Surface时,首先在要与SurfaceFlinger建立一个Session,然后再Session上建立一个Connection通过概念返回Bclient对象。WindowManagerService在添加第一个窗口前会检查SurfaceSession是否建立,如何没有建立,将会新建立一个实例来代表与SurfaceFlinger的一个连接。 new SurfaceSession()@wi

2010-06-14 22:02:00 36206 12

原创 Android核心分析(26)-----Android GDI之SurfaceFlinger

Android GDI之SurfaceFlinger SurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是: 1) 将Layers (Surfaces) 内容的刷新到屏幕上 2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。 3) 响应Client要求,创建Layer与客户端的Surface建立连接 4) 接收Client要求,修改Layer属性(输出大

2010-06-14 20:31:00 66426 27

原创 Android核心分析(25)------Android GDI之共享缓冲区机制

Androird GDI之共享缓冲区机制 1  native_handle_t对private_handle_t 的包裹      private_handle_t是gralloc.so使用的本地缓冲区私有的数据结构,而Native_handle_t是上层抽象的可以在进程间传递的数据结构。在客户端是如何还原所传递的数据结构呢?首先看看native_handle_t对private_handle_t的抽象包装。 numFds= sNumFds=1; numInts= sNumInt

2010-06-14 16:29:00 33426 13

原创 Android核心分析(24)-----Android GDI之显示缓冲管理

Android GDI之屏幕设备管理-动态链接库        万丈高楼从地起,从最根源的硬件帧缓冲区开始。我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某个位置。我们从基本的点(像素点)和基本的缓冲区操作开始。 1 基本知识 1.1点的格式      对于不同的LCD来讲,FrameBuffer的二进制格式不一样,并且可以分为两部分:       1)点的格式:通常将Depth,即表示多少位表示一个点。 1位表示一个点

2010-06-14 13:36:00 43185 24

原创 Android核心分析(23)-----Andoird GDI之基本原理及其总体框架

Android GDI基本框架     在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。     GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个物理屏幕使用的管理器。因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,对所有窗口输出,应用程序不会关心物理屏幕是否被别的窗口占用,而只是关心自己在本窗口的输出,至于输出是否能在屏幕上看见,则

2010-06-13 22:49:00 36110 18

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除