после того, как вы задали вопрос об инструментах и обнаружили проблемы с моим кодом, есть два вопроса:
1-й: Почему приведенный выше код показывает в инструменте выделения именно то, что мне нужно? (Выделенная память меньше 30 Мб)
NSMutableArray* arrayOfImages = [[NSMutableArray alloc]initWithCapacity:30];
for (int i = 0; i <= 30; i++){
NSString* path = [[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"picture%d",i] ofType:@"png"];
UIImage* img = [[UIImage alloc]initWithContentsOfFile:path];
[arrayOfImages addObject:img];
[img release];
}
imageView.animationImages = arrayOfImages;
[arrayOfImages release];
....
imageView.animationImages = nil;
[imageView release];
Но на самом деле выделяется больше памяти.
Согласно документации разработчика (Управление памятью), я полагаю, что все делаю правильно, но на устройстве программа обычно вылетает из-за нехватки памяти. Конечно, это не полный код, но проблема здесь определенно. (В приложении есть 5 UIImageViews с анимацией, и все они используют слишком много памяти.)
РЕДАКТИРОВАТЬ Хорошо, возможно ли как-то решить эту проблему. С проблемами памяти при использовании UIImages?