#ios #memory #memory-management #uiimageview
#iOS #память #управление памятью #uiimageview
Вопрос:
Требуется ли UIImageView память, когда она скрыта? Тот же вопрос для alpha = 0.0
Я много работаю со скрытыми изображениями, и мне интересно, все ли они по-прежнему потребляют память.
Более конкретно, я хотел бы знать, что для tableview.
Спасибо
Ответ №1:
Конечно, если в представление загружено изображение, оно загружается, потому UIImageView
что это просто a UIView
, у которого есть UIImage
свойство @с retain
атрибутом, поэтому оно сохраняет изображение.
Тот факт, что вид виден или нет, конечно, ничего не меняет, и, надеюсь, потому, что в противном случае iOS не сможет загрузить UIImage
его снова, если вы UIImageView
снова установите видимый (как только image
свойство будет затронуто UIImageView
, UIImageView
оно не может знать источник изображения, было ли оно загружено из файла, URL, сгенерированный программно, …?), и даже если бы он знал, что перезагрузить его было бы сложно (для загрузки и декодирования может потребоваться некоторое время)
Если вы не используете UIImageView
изображение an, по крайней мере, установите для его image
свойства nil
значение, чтобы скрыть его (и перезагрузите / повторно измените изображение самостоятельно, если вам нужно его повторно отобразить, но если оно используется в UITableView
из-за механизма повторного использования / повторного UITableViewCells
использования, вероятно, это никогда не будет тот же образ, что и раньше).установить в любом случае)