Выделение памяти и выпуск для UIImage в iPhone?

Если у Вас действительно должен быть набор того, если бы тесты и хотят сделать, разные вещи whenwver тест верны, что я рекомендовал бы некоторое время цикл только с IFS - нет еще. Каждый, если делает тест вызовы метод затем, убегает из цикла. Нет еще нет ничего худшего, чем набор сложенного if/else/if/else и т.д.

6
задан rkb 7 October 2009 в 14:32
поделиться

2 ответа

Вы не можете вернуться из подпрограммы до того, как завершите EndImageContext:

return UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Попробуйте следующее:

UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;

Вам не нужны закомментированные удержания или автоматические выпуски.

1
ответ дан 17 December 2019 в 20:33
поделиться

Вместо того, чтобы использовать autorelease для управления памятью (которая, насколько я знаю, имеет мало или вообще не имеет гарантий о когда память будет освобождена, просто это в конечном итоге разделит вашу строку кода на три части и управляйте памятью самостоятельно. В лучшем случае это может быть все, что необходимо для устранения утечек памяти. По крайней мере, такой инструмент, как Instruments, сможет взять его оттуда и показать вам, откуда генерируются возможные утечки памяти.

Кроме того, [UIImage imageNamed:] может быть дорогим и автоматически выводить изображение.Вы можете заменить этот вызов относительно простым механизмом кэширования образов, который может повторно использовать часто запрашиваемые образы и повысить производительность при загрузке.

-1
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: