iOS中图片上屏过程

本文详细解释了在iOS中一张图片如何上屏的过程,涉及Layout、Display、Prepare和Commit阶段,以及关键步骤如UIImage处理、CALayer内容设置、CATransaction提交和GPU渲染的图形管线。
摘要由CSDN通过智能技术生成
        在回答一张图片在iOS中上屏的过程这一问题之前, 首先了解下iOS的UI渲染的主要过程。其主要包含Layout-> Display->Prepare->Commit四个阶段。
       

        Layout: Layout 阶段主要进行视图构建,包括:LayoutSubviews 方法的重载,addSubview: 方法填充子视图等。

        Display: Display 阶段主要进行视图绘制,生成的位图存放在将CALayer包含 contents 属性指向称为 backing store的一块缓存区。

        Prepare: Prepare 阶段属于附加步骤,一般处理图像的解码和转换等操作。

        Commit: Commit 阶段主要将图层进行打包,并将它们发送至 Render Server。该过程会递归执行,因为图层和视图都是以树形结构存在。

       现在问题的答案已经水到渠成了。

       1. 读取文件内容, 生成UIImage对象

       2. UIImage赋值给UImageView

       3. 一个隐式的CATrasaction捕捉到UIImageView 图层树的变化

       4. 图片解码, 变为位图,赋值给CALayer的contents

       5. 主线程Runloop提交CATransaction,开始进行图像渲染

       6. 进行GPU顶点计算、光栅化、片元着色器计算

       7. 渲染后的数据进入帧缓冲区。

       8. 上屏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值