对于做UI的同学们而言,一定会关注过这个问题:UI控件究竟何时会刷新?从技术角度,UI控件的刷新时机可以选择在任何时候,但刷新本身是一段"重绘代码",过多的刷新非但不能让用户感受到效果,反而会影响性能。一般而言,如下几种情况会发生重绘:
- UI交互事件
例如用户点击确认按钮或者选择列表的某一项,自然需要重绘按钮的显示颜色或者列表高亮项,否则用户会感觉到程序似乎“无响应“。 - 数据更新主动请求重绘
列表的内容发生变化,程序员主动请求刷新,例如iOS的setNeedsDisplay和Windows的Invalidate*函数。