Я попробовал 2 различных метода создания фонового изображения для контроллера представления.
Я исследовал это раньше и пришел к выводу, что для хорошей практики памяти вы должны использовать этот метод:
NSString *path = [[NSBundle mainBundle] pathForResource:@"controllerBackground" ofType:@"png" inDirectory:@""];
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:path]]];
При использовании другого метода:
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"controllerBackground.png"]]];
Это не так эффективно, как при использовании метода imageWithContentsOfFile: path.
Однако при тестировании обоих этих методов с использованием инструментов повышения производительности "происходит утечка"«Монитор, я заметил, что происходит очень необычная вещь.
При использовании метода imageWithContentsOfFile:path
проблема заключалась в том, что при перемещении назад и вперед в контроллере навигации, загружающем контроллер представления, память будет продолжать увеличиваться в пределахоколо 1 МБ каждый раз при загрузке контроллера представления.
Эта проблема также наблюдается только в новых iOS 4.1 и 4. Похоже, что это не происходит в iOS 3.0 или 3.2.