Какие действия необходимы, когда ваше приложение получает вызов applicationWillResignActive? - PullRequest
0 голосов
/ 13 августа 2011

Этот вопрос io3-> ios4 upgrade сказал, что поддерживает applicationWillResignActive. При реализации этого вызова я также реализовал applicationDidEnterBackground и applicationWillEnterForeground. Однако я обнаружил, что мое приложение зависнет. После некоторой отладки на симуляторе я определил, что мне нужно повторно инициализировать ключевую структуру данных в applicationWillEnterForeground. Итак, мой вопрос: как бы я узнал об этом, прочитав документацию? (На самом деле, я могу делать что-то не так, и просто так получилось, что он снова заработал.) Есть ли точное описание того, что делать при вызове этих методов?

Спасибо.

1 Ответ

0 голосов
/ 13 августа 2011

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

В большинстве случаев мало что еще нужно сделать. Единственное, что может привести к сбою в работе вашего приложения, уникального для многозадачности, - это попытаться запустить код в фоновом режиме дольше, чем выделенное время (то есть 10 минут). В противном случае, похоже, у вас есть другие проблемы с вашим код.

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