UIView的backgroundcolor是对CALayer里backgroundcolor的包装,contents负责显示内容,backing store是一个bitmap的位图bash
相关设计原则:单一职责原则并发
// 返回最终响应的视图
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
复制代码
// 判断某一个点击的位置是否在当前视图范围内
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
复制代码
事件传递流程 异步
事件响应流程 ide
滑动优化方案oop
CPU布局
GPU 4. 纹理渲染(避免离屏渲染) 5. 试图混合优化
UIView绘制原理spa
runloop将要结束时调用CALayer的display方法线程
系统绘制流程设计
-[layer.delegate displayLayer:]
复制代码
1. 代理负责生成对应的bitmap
2. 设置该bitmap做为layer.contents属性的值
复制代码
On-n-Screen Rendering 意为当前屏幕渲染,指的是GPU的渲染操做是在当前用于显示的屏幕缓冲区中进行
Off-n-Screen Rendering 意为离屏渲染,指的是GPU的渲染操做是在当前缓冲区之外新开辟一个缓冲区进行渲染操做
触发场景