- 博客(3)
- 收藏
- 关注
原创 Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer
应用程序中不同类型的Surface,在FrameWorks本地层的SurfaceFlinger中,分别对应着不同的Layer类,本文主要是讨论这几种Layer的实现和差异。阅读本文之前,最好对SurfaceFlinger这个系统服务有所了解,可以参阅我的以下两篇文章:Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Layer)之间的显示缓冲区管理Android SurfaceFlinger中的工作线程:threadLoop() 视觉效果下面
2010-11-11 11:43:00 17414 4
原创 Android 本地代码中的LIKELY和UNLIKELY宏
<br />阅读Android Frameworks中的C++代码时,经常会碰到在条件判断语句中使用了LIKELY和UNLIKELY这两个宏,找到这两个宏的定义如下:<br />#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true ))#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) <br /> <br />long __builtin
2010-11-03 11:33:00 6102 2
原创 Android SurfaceFlinger中的工作线程:threadLoop()
SurfaceFlinger继承了Thread类,自然也继承了Thread类的threadLoop方法,SurfaceFlinger工作线程的主代码都在threadLoop()方法中。工作线程启动后,基类Thread会循环地调用threadLoop方法,SurfaceFlinger的threadLoop()主要是要完成系统中各个Layer(Surface)进行混合(compose),然后不停地把一帧帧混合好的图像数据传送到显示设备中。 threadLoop的流程 图一 t
2010-11-02 19:35:00 20531 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人