Если бы существовал один истинный «Лучший способ», средства для загрузки изображений несколькими способами не существовали бы (если только по историческим причинам).Поэтому, немного понимания поможет вам лучше, чем перевести ответ на «Best Way».
+[UIImage imageNamed:]
кэширует изображение для повторного использования, и это разумное значение по умолчанию для большинства целей.Кэширование отлично , если используется правильно.Кеш хорош, потому что он может минимизировать чтение с вашего диска и использование памяти за счет совместного использования и повторного использования загруженных изображений, а не чтения и выделения копии для каждого изображения, которое вы должны отобразить.Рассмотрим изображение значка, которое вы используете на нескольких экранах - хотели бы вы, чтобы данные изображения считывались и перераспределялись каждый раз?Это может привести к избыточному чтению и распределению идентичных данных изображения.Если нет, используйте методы кэширования.
Если вы загружаете изображение только один раз и лениво, то вам может потребоваться рассмотреть подходы без кэширования.
- Данные изображения могут потреблять многопамять.
- Чтение образа может занять много времени - не только дисковый ввод-вывод, но и преобразование его в используемое представление UIImage (например, распаковка изображения).
- также существуютвремя, когда вы должны изменить размер / масштабировать изображение.тогда вам понадобится масштабированная копия.
Короче говоря, есть много соображений, но если вы правильно масштабировали активы, которые вы повторно используете, кэширование обычно является правильным выбором.
Если ваши активы не имеют правильного размера, тогда проблема более фундаментальная - вы должны изменить размер связанных активов, чтобы они соответствовали цели, если у вас возникают проблемы с производительностью.Изображения надлежащего размера также значительно упрощают рисование, сохраняя при этом наилучшее качество изображения.