Я видел, как этот вопрос задавали десятки раз, но никогда не отвечал.
Как изменить размер UIImage (в частности, тот, который возвращается камерой UIImagePickerController). Когда я пробую любой из существующих методов, я получаю всплеск памяти между 20 и 40 МБ. Он уходит, но я знаю, что на некотором оборудовании это совершенно неприемлемо.
Я пробовал методы, использующие следующие операции: drawInRect :, CGContextDrawImage (), imageWithCGImage: scale: Ориентация:
Я понимаю, что несжатые изображения, живущие в памяти, занимают больше места, чем на диске, но похоже, что наиболее распространенные операции изменения размера UIImage включают создание копий данных изображения.
Даже Apple рекомендует сразу изменить размер снимка, сделанного камерой. Однако (b / c я считаю, что они знают, что эта тема чрезвычайно сложна) они не предлагают слов о том, как с этим справиться. Особенно как это сделать в момент возврата данных изображения.
У кого-нибудь есть плавный метод изменения размера большого UIImage при сохранении памяти? Я знаю, что это сложная задача.