Реализация UIImage / пейджинг? - PullRequest
0 голосов
/ 20 октября 2011

Из документации UIImage:

В ситуациях с нехваткой памяти данные изображения могут быть удалены из объекта UIImage для освобождения памяти в системе.Такое поведение при очистке влияет только на данные изображения, хранящиеся внутри объекта UIImage, а не на сам объект.Когда вы пытаетесь нарисовать изображение, данные которого были очищены, объект изображения автоматически перезагружает данные из своего исходного файла.

Как насчет UIImages, которые не были загружены из файла, но вместо этого нарисованы, скажем,, с UIGraphicsGetImageFromCurrentContext ()?

Я пытаюсь найти способы оптимизации использования памяти UITableViewCells с UIImageViews, содержащими UIImages, когда ячейки входят и извлекаются из очереди повторного использования.Мысли?

1 Ответ

0 голосов
/ 20 октября 2011

Майк,

Насколько я понимаю, что данные CGImage ушли, поэтому я думаю (это для вашей точки рисованного изображения) вам не повезло?

Я на самом деле только что имел дело саналогичная проблема с UITableViews.Одна вещь, которую я сделал для производительности, заключалась в создании ячеек с пером;это был самый большой прирост в производительности из всех, что я делал, поэтому, если вы не используете Nib, подумайте об этом.

Вы также можете рассмотреть некоторую форму предварительной загрузки, если у вас так много данных.Я не знаю, что вы пытаетесь реализовать, так что это может или может быть применимо.

Еще одно замечание: после очистки UIImage перезагрузка их из их файлов является значительным ударом по памяти, поэтому, если вы находитесь в этот момент, вам действительно нужно просто посмотреть на общее использование памяти.

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