Android Framework学习笔记 -- Surface的绘制过程

本文详细探讨了Android Framework中的SurfaceFlinger服务,从连接到SurfaceFlinger、创建Surface、设置Layer的Z轴到操纵Buffer内容的过程。通过分析源码,揭示了SurfaceFlinger如何处理屏幕显示事务,并提供了关键步骤的解释和类图分析。
摘要由CSDN通过智能技术生成

今天看到一篇很不错的的关于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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值