imageNamed:
не вызывает утечку, но ее часто неправильно понимают, что приводит к проблемам с памятью при ее использовании. После загрузки оно кэширует несжатое изображение, что означает, что в памяти сразу находятся 2 копии этого изображения. Если вы используете его для небольших часто используемых изображений (например, значков), это замечательно, потому что среда выполнения не должна извлекать файл с диска - он уже доступен в кеше. В этом случае пользователи сталкиваются с проблемами, когда они используют imageNamed:
для загрузки большого изображения, например, 4-мегапиксельного изображения, полученного с помощью камеры. Это изображение занимает довольно много памяти : 4 миллиона пикселей, тип 4 байта на пиксель = 16 МБ памяти, ДВАЖДЫ. Если вы используете этот метод для загрузки изображений для слайд-шоу, обмена фотографиями, приложения камеры или чего-то еще, это очень быстро складывается.
Так что, если эти функции не соответствуют вашим потребностям, используйте один из других методов загрузки UIImage. Ваши пользователи будут вам благодарны.
Примечание : эта информация получена от инженера Apple, который представил сеанс рендеринга UIKit (# 121, я думаю, что так и было). Надеюсь, мои записи верны:)