Я написал код, который, когда вы нажимаете кнопку, открывает новый экран с изображением на нем.На этом новом экране есть кнопка, которая закрывает экран и возвращает к главному экрану.И это работает нормально, если я делаю это так (без утечек и т. Д.):
img = [UIImage imageNamed: @"Galaxy"];
ImageDisplay *display = [[ImageDisplay alloc] initWithImage:img];
Но если я заменю эту строку кода чем-то вроде этого:
img = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Minnesota" ofType:@"png"]];
ImageDisplay *display = [[ImageDisplay alloc] initWithImage:img];
[img release];
Это действует как у меня утечка памяти.Каждый раз, когда я открываю изображение экрана, приложение занимает все больше и больше памяти.Но все разлочки вызываются, даже [img retainCount] показывает 1 до окончательного выпуска.Есть ли вероятность, что здесь есть ошибка, потому что я не могу найти, что не так?
EDIT:
Вот метод dealloc для ImageDisplay, и этот метод вызывается:
-(void) dealloc {
[img release];
[super dealloc];
}