今天看到一篇很不错的的关于SurfaceFlinger的文章,主要是看到android源码中有一个简单明了的test,而且还被我编译过了,都不知道的前几个星期看的都是些什么东西- -
http://blog.csdn.net/jinzhuojun/article/details/17427491
还是从test开始看起吧
test的在工程中的位置:frameworks/native/services/surfaceflinger/tests/resize,用于在屏幕上显示一块色块
int main(int argc, char** argv)
{
// set up the thread-pool
sp<ProcessState> proc(ProcessState::self());
ProcessState::self()->startThreadPool();
// 连接到surfaceflinger
sp<SurfaceComposerClient> client = new SurfaceComposerClient();
// 创建surface
sp<SurfaceControl> surfaceControl = client->createSurface(String8("resize"),600, 800, PIXEL_FORMAT_RGB_565, 0);
sp<Surface> surface = surfaceControl->getSurface();
// 设置Layer的z轴
SurfaceComposerClient::openGlobalTransaction();
surfaceControl->setLayer(100000);
Surfa