(iphone) UIImage проблема управления памятью - PullRequest
3 голосов
/ 10 января 2011

У меня проблемы с управлением памятью UIImage.
(iphone) мое приложение получает предупреждение памяти, когда инструменты показывают "все выделения" только 7 МБ?

По сути, я создаю/ Уничтожить UIImage много раз.
Даже если я использую локальное NSAutoreleasePool потребление памяти на низком уровне времени, устройство iphone / ipad продолжает жаловаться на использование памяти.

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

Или любое другое предложение о том, какмногократно создавать / уничтожать UIImages без нарушения iOS.

Спасибо.

Ответы [ 2 ]

10 голосов
/ 10 января 2011

Это не очень известный факт, но Instruments не учитывает размер UIImages в выделенной памяти.Вы можете потерять 100Mb UIImages, и выделенная память не расскажет историю.Что рассказывает историю, так это количество живых экземпляров UIImage в данный момент.

В инструменте Allocations , используя верхнее правое поле поиска, выполните поиск «Изображение».Затем найдите столбец с пометкой #linving в UIImage.Это число является количеством объектов UIImage.Это лучший компас для выяснения, куда движутся ваши UIImages.Если в какой-то момент у вас больше объектов, чем вы ожидаете, и эти пользовательские интерфейсы не исчезают, у вас в руках утечка UIImage.Утечка UIImage убьет ваше приложение очень быстро.

2 голосов
/ 21 ноября 2015

CGImage не колеблется больше, чем я думаю (максимум 6+) .. мм может быть 6+ = 6 мг, а базовая 10 мг = 16 мг выдает предупреждение

CGImage не выпускаются автоматически,вам следует позвонить CGImageRelease(image);

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