Включение многозадачности

Я пытаюсь добавить поддержку многозадачности для моего приложения iPad (4.3). В настоящее время, когда приложение переходит в фоновый режим, приложение получает команду applicationDidEnterBackground, но затем сразу же после получает команду applicationWillTerminate, по существу убивая приложение, так что, когда приложение возобновляется из фона, оно выглядит так, как если бы приложение открылось в первый раз. Я установил для UIApplicationExitsOnSuspend значение false в файле info.plist. Как я могу заставить многозадачность правильно работать в моем приложении и не прерывать работу приложения, когда оно переходит в фоновый режим?


person jcb344    schedule 24.06.2011    source источник


Ответы (2)


Сколько памяти использует ваше приложение? iOS может завершить его, чтобы высвободить ресурсы.

Если ваше приложение загружает много изображений (и не отвечает на предупреждения о памяти), возможно, оно израсходовало большую часть доступной памяти, а это означает, что iOS нужно будет убить его только для загрузки главного экрана.

person benzado    schedule 24.06.2011
comment
Это возможно, но я не получаю никаких предупреждений о памяти от didReceiveMemoryWarning в моем контроллере представления. - person jcb344; 25.06.2011

Вот как я это сделал:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [self applicationWillTerminate:application];
}

- (void)applicationWillTerminate:(UIApplication *)application {
    [gameViewController appWillResignActive];
}

где appWillResignActive — мой метод сохранения состояния игры.

person PrimeSeventyThree    schedule 24.06.2011
comment
Это похоже на грязное решение общей проблемы. - person jcb344; 25.06.2011
comment
Наверное, это так, но это работает для меня. у вас есть лучшее решение? - person PrimeSeventyThree; 25.06.2011