Во-первых: я реализовал довольно сложный механизм прокрутки для изображений, который позволяет прокручивать несколько сотен тысяч (теоретически) в одном представлении прокрутки. Это делается путем предварительной загрузки небольших порций при прокрутке при повторном использовании всех UIImageViews. В настоящее время все, что я делаю, - это назначаю новые созданные объекты UIImage этим повторно используемым UIImageViews.
Возможно, было бы лучше, если бы можно было повторно использовать эти объекты UIImage, передавая им новые данные изображения.
Теперь проблема в том, что я в настоящее время использую метод -imageNamed :. В документации написано, что она кеширует изображение.
Проблемы, которые я вижу в этом случае с -imageNamed:
Поскольку изображение прокручивается за пределы диапазона предварительной загрузки, оно больше не требуется. Было бы плохо, если бы он пытался кэшировать тысячи изображений, пока пользователь прокручивает, прокручивает и прокручивает.
И если я найду способ вставить новые данные изображения в объект UIImage для его повторного использования, то что произойдет с кэшированным старым изображением?
Итак, остался один метод, который кажется интересным:
-initWithContentsOfFile:
Это не кэширует изображение. И он не использует -autorelease, что хорошо в этом случае.
Как вы думаете, в этом случае было бы лучше использовать -initWithContentsOfFile :?