Сохранить текущее состояние при быстром переключении контекста - iOS4 - PullRequest
0 голосов
/ 02 июля 2010

Проходя многозадачность iOS-4 для быстрого переключения контекста, у меня возникают сомнения относительно сохранения последнего состояния приложения.

Должны ли приложения вручную сохранять последнее состояние в "- (void) applicationDidEnterBackground:(UIApplication *) приложение "?Или iOS-4 позаботится об этом?

В видео упоминается следующее:

-(void)applicationDidEnterBackground:(UIApplication *)application {
   // save app state
   [self saveState];

   // reduce memory usages
   ....

   // prepare UI
   ....

   // close listening sockets
   ....
}

Заранее спасибо,

Sunil

Ответы [ 3 ]

0 голосов
/ 02 июля 2010

Должны ли приложения вручную сохранять последнее состояние в «- (void) applicationDidEnterBackground: (UIApplication *) application»?Или iOS-4 позаботится об этом?

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

0 голосов
/ 07 сентября 2011

Вы должны использовать эти 2 метода в делегате приложения, чтобы сохранить текущее состояние перед вводом фона / завершить.

  - (void)applicationWillResignActive:(UIApplication *)application {

    /*
     Sent when the application is about to move from active to inactive state. 
     This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) 
     or when the user quits the application and it begins the transition to the background state.
     Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. 
     Games should use this method to pause the game.
     */
}   
   - (void)applicationWillTerminate:(UIApplication *)application {

    /*
     Called when the application is about to terminate.
     See also applicationDidEnterBackground:.
     */
}
0 голосов
/ 02 июля 2010

Как только ваше приложение переходит в фоновый режим, нет никаких гарантий, что оно когда-либо вернется на передний план. Оно может быть в любой момент прекращено без какого-либо уведомления. Таким образом, вводя фон, вы хотите сохранить состояние или рискнуть его потерять.

Цитировать Apple (источник: http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html),

Сохраните состояние приложения перед переходом в фоновый режим. В условиях нехватки памяти фоновые приложения удаляются из памяти, чтобы освободить место. Приостановленные приложения сначала удаляются, и приложение не извещается до очистки. В результате, прежде чем перейти к фону, приложение должно всегда сохранять достаточно информации о состоянии, чтобы при необходимости восстановить себя. Восстановление вашего приложения к его предыдущему состоянию также обеспечивает согласованность для пользователя, который будет видеть моментальный снимок главного окна вашего приложения, когда оно будет перезапущено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...