UI视图

334 阅读1分钟
  • 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内部调用流程:

  • 响应链:

  • 异步绘制流程:

  • 异步绘制方法调用:

  • 系统绘制流程

  • 参考资料