【发布时间】:2010-08-23 12:14:47
【问题描述】:
是否有使用 drawRect、setNeedsDisplay 和 layoutSubViews 等方法的基本规则? 我相信它们会对应用程序的性能产生不利影响。这些消息是否有任何首选的替代方案?
【问题讨论】:
标签: iphone
是否有使用 drawRect、setNeedsDisplay 和 layoutSubViews 等方法的基本规则? 我相信它们会对应用程序的性能产生不利影响。这些消息是否有任何首选的替代方案?
【问题讨论】:
标签: iphone
虽然这不是 this question 的完全相同,但我相信 my answer there 仍然适用。
总而言之,-drawRect: 将重绘视图中的内容,这是一项昂贵的操作。如果可以通过分层内容并根据需要移动或隐藏这些图层来避免重绘。
但是,这些重绘通常只有在快速连续完成许多重绘(例如尝试为内容制作动画时)才会对性能产生重大影响。一次性重绘静态 UI 元素不会明显减慢速度。
【讨论】: