Потребляет ли iPhone OS больше памяти, когда я отображаю 5 раз один и тот же UIImage в нескольких UIImageViews? - PullRequest
2 голосов
/ 18 июля 2009

Я не заметил, чтобы при этом сильно снижалась производительность. Поэтому мне интересно, не повредит ли это, когда я повторно использую один и тот же UIImage несколько раз одновременно в нескольких UIImageViews?

1 Ответ

2 голосов
/ 18 июля 2009

ОК, я не профилировал это, но ... Он не должен занимать больше памяти. Когда вы используете UIImageView, то происходит то, что происходит в CALayer, который обеспечивает визуальное отображение всех подклассов UIView на iPhone, и его свойство содержимого установлено на объект CGImage. Когда вы настраиваете несколько объектов UIImageView с одним и тем же изображением, Cocoa Touch достаточно умен, чтобы использовать тот же CGImage, что и свойство содержимого для каждого CALayer UIImageView.

У вас есть несколько UIImageViews, и у каждого есть свой собственный CALayer, но когда CALayer просто отображает неизменное изображение (загруженное из файла или URL), это очень легкий объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...