У меня есть UIImage *loadedPoofSprite, который я инициализирую так:
NSMutableDictionary* loadedDictionary=[NSDictionary dictionaryWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",Main_Bundle_Path,poofConfigFileName]];
NSString *textureFileName = [[loadedDictionary objectForKey:@"metadata"] valueForKey:@"textureFileName"];
loadedPoofSprite = [UIImage imageNamed:textureFileName];
poofImage = [[UIImage imageNamed:textureFileName] CGImage];
Оттуда я использую свой poofImage, и все выглядит нормально, пока мое приложение не возобновляет работу из фона. Я получаю сбой, потому что загружен. Я думал, что способ избежать этого будет сохранить загруженный PoofSprite следующим образом:
[loadedPoofSprite autorelease];
loadedPoofSprite = [[UIImage imageNamed:textureFileName] retain];
Это работает, но мне предложили, что это неправильный способ сделать это, и я должен в основном снова загрузить загруженный файл в приложении applicationWillEnterForeground. Я не понимаю, почему лучше загрузить его дважды, а не сохранять. Каков был бы правильный подход к решению вышеуказанного?
спасибо!