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的渲染操做是在當前緩衝區之外新開闢一個緩衝區進行渲染操做
觸發場景