Android Surface显示系统框架一概览

在这里插入图片描述

基于Android7.1源码和相关资料画了APP UI绘制显示的大致框架。
涉及安卓系统全栈内容:

  1. APP层
  2. framework层(WMS)
  3. native层(SurfaceFlinger)
  4. HAL层(hwcomposer/gralloc)

包括了如下概念

  • 进程通信组建:binder/Ashmem,作为模块之间沟通的桥梁,如果不清楚这两个实现机制,很难明白UI渲染如何从APP层发起请求经过多个模块传递最终发送到显示设备显示。
  • 图形学相关概念:Surface/Layer/Gralloc/HWComposer/Vsync/FrameBuffer以及Canvas/Paint/Bitmap。对于APP开发者,大多只了解Canvas/Paint/Bitmap,这三个概念可以理解是对底层显示机制的上层抽象,如果想弄清楚绘制的底层实现,需要进一步学习Surface/Layer/Gralloc/HWComposer/Vsync/FrameBuffer这几个概念。
  • 渲染引擎:Skia/OpenGL。在了解了Surface等概念之后,需要明白如何将Surface按照设定的Layer层次渲染到显示设备,这时就需要用到渲染引擎。
    主要相关代码地址:
    app端:
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值