[UIImage imageWithData:]
возвращает автоматически выпущенный объект, который не должен быть снова выпущен вами. Таким образом, этот фрагмент кода содержит не утечку памяти, а наоборот, двойное освобождение (в худшем случае).
Обратите внимание, что инструменты иногда генерируют ложные срабатывания и / или сообщают об утечках памяти в самом фундаменте (да, они тоже допускают ошибки: -).
Самый быстрый способ выделить / освободить объект - это избежать удобных инициализаторов (таких как imageWithData :) и вместо этого что-то вроде
NSData* data = [[NSData alloc] initWithContentsOfURL:url]];<br>
UIImage* img = [[UIImage alloc] initWithData:data];<br>
[data release];<br>
// use your image<br>
[img release];
Это сразу выделит и освободит ваш объект, а не будет ждать очистки пула автоматического выпуска.
Но учтите также, что утечка памяти, как правило, не является памятью, которая не пока не освобождена, а потеряна и больше не может быть освобождена , поэтому объект, который будет освобождение из пула автоматического выпуска не считается утечкой памяти.