Я использую следующий код для поворота изображения
http://www.platinumball.net/blog/2010/01/31/iphone-uiimage-rotation-and-scaling/
это одно из немногих преобразований изображения, которое я делаю перед загрузкой изображения на сервер, у меня также есть некоторые другие преобразования: нормализация, обрезка, изменение размера.
Каждое из преобразований возвращает (UIImage*)
, и я добавляю эти функции, используя категорию. Я использую это так:
UIImage *img = //image from camera;
img = [[[img normalize] rotate] scale] resize];
[upload img];
После выбора 3 ~ 4 фотографий с камеры и выполнения одного и того же кода каждый раз, когда в XCode появляется сообщение с предупреждением о памяти.
Я предполагаю, что у меня где-то есть утечка памяти (хотя я использую ARC). Я не очень опытен в использовании средств отладки xCode, поэтому я начал печатать счетчик хранения после каждого метода.
UIImage *img = //image from camera;
img = [img normalize];
img = [img rotate]; // retain count increases :(
img = [img scale];
img = [img resize];
Единственной операцией, которая увеличивает счет удержания, является вращение. Это нормально?