2010-08-23 6 views
3

Есть ли какое-либо основное правило для использования таких методов, как drawRect, setNeedsDisplay и layoutSubViews? Я считаю, что они отрицательно влияют на производительность приложения. Есть ли какие-либо предпочтительные альтернативы для этих сообщений?Использование drawRect, setNeedsDisplay и layoutSubViews

ответ

1

Хотя это не точный дубликат this question, я считаю, что my answer there по-прежнему применяется.

Таким образом, -drawRect: будет перерисовывать содержимое в пределах вида, что является дорогостоящей операцией. Избегайте перерисовки, если можете, путем разбиения содержимого и перемещения или скрытия этих слоев по мере необходимости.

Однако эти перерисовки обычно оказывают значительное влияние на производительность, если многие из них выполняются быстро, например, при попытке оживить контент. Однократные перерисовки статических элементов пользовательского интерфейса не будут медлительно замедлять работу.

+0

Большое вам спасибо – Abhinav

Смежные вопросы