UI篇

1、什么是重用机制?
通过identifer作为标识来创建不同的cell,依托重用池来实现cell的重用

2、UI数据源同步
并发访问数据源拷贝和串行访问,根据具体场景选择

3、UIView和CALayer的区别?
UIView为其提供内容,以及负责处理触摸等事件,参与响应链
CALayer负责显示内容contents
体现了单一职责的设计原则

4、事件传递
从根视图逐级递归查找直到找出sv视图


事件传递示例图

5、事件响应
从点击视图向父视图逐级传递,直到有接受事件的响应终止传递,如到UIApplicationDelegate都还没有接收,那相当于本次点击无效

6、图像显示原理


image.png

7、UI卡顿掉帧的原因,怎么优化


image.png

优化:


image.png

image.png

8、 UIView的绘制原理和异步绘制


image.png

image.png

9、什么是在屏渲染,什么是离屏渲染?


image.png
image.png

为何要避免?
离屏渲染会增加GPU的工作量,导致CPU和GPU的总耗时超过了16.7ms,从而造成了UI的延迟和卡顿。
创建了新的渲染缓冲区,增加了内存的开销,多通道渲染管线合成,就会涉及上下文的切换,从而增加了GPU额外的开销

你可能感兴趣的:(UI篇)