-
UITableView重用:滚出屏幕外的cell,会进入重用池。当cell将要滚入屏幕,会根据指定的id从重用池中去取已经存在的cell,如果没有可用cell就新建。
-
UIView和CALayer:UIView一般负责处理事件传递和响应等功能,而CALayer只负责显示内容。单一原则。
-
显示原理:CPU计算要显示的内容提交给GPU,然后GPU计算出要显示的bitmap提交到帧缓冲区,视频控制器等待VSync信号显示准备好的bitmap。
-
卡顿掉帧:
CPU耗时+GPU耗时>16.7ms
就是出现卡顿掉帧 -
造成卡顿掉帧的原因:
CPU:对象的创建、修改、销毁等
GPU:圆角、阴影、半透明、图层蒙版、多个view叠加
。 -
离屏渲染:指的是GPU在当前缓冲区开辟另一个缓冲区进行渲染。后果是增加渲染时间,导致屏幕卡顿。
-
事件传递:
-
hitTest:withEvent内部调用流程:

-
响应链:
-
异步绘制流程:
-
异步绘制方法调用:
-
系统绘制流程