理解ICS Surface和SurfaceFlinger的处理流程

ISurfaceComposer接口的实现类:

------------------------------------------------------------------

接口ISurfaceComposerClient

->
BnSurfaceComposerClient
->
实现类Client,位于SurfaceFlinger.h文件中

------------------------------------------------------------------
接口ISurfaceComposer
->
BnSurfaceComposer
->
实现类SurfaceFlinger

ISurfaceComposer类含有以下成员函数,用于与SurfaceFlinger建立联系
/* create connection with surface flinger, requires
* ACCESS_SURFACE_FLINGER permission
*/
virtual sp<ISurfaceComposerClient> createConnection() = 0;

------------------------------------------------------------------
1.SurfaceComposerClient类含有接口ISurfaceComposerClient类型的成员变量mClient

2.SurfaceControl类含有SurfaceComposerClient类型的成员变量mClient

3.SurfaceComposerClient::createSurface函数,返回值类型为SurfaceControl
(1)调用成员mClient的createSurface函数创建Surface
mClient->createSurface实际是调用的接口ISurfaceComposerClient的实现类Client
(2)创建SurfaceControl对象,管理(1)中创建的Surface
(3)返回(2)中创建的SurfaceControl对象

4.SurfaceComposerClient对象的创建
创建SurfaceComposerClient对象的地方位于jni中,对应的文件是android_view_Surface.cpp,函数是SurfaceSession_init,
对应与java类SurfaceSession中的init函数。

{"init", "()V", (void*)SurfaceSession_init },


未完待续……


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值