Переход из фонового состояния в неактивное


Переход из фонового состояния в неактивное

Отказ от использования лишней оперативной памяти, скорее всего, приведет к тому, что получаемый в итоге моментальный снимок состояния приостановки вашего приложения уменьшится, благодаря чему понижается риск полного удаления приложения из оперативной памяти. Непременно воспользуйтесь такой возможностью и для сохранения любых данных приложения, чтобы после его перезапуска пользователь смог продолжить работу с того места, где она была остановлена. Если ваше приложение вернется в активное состояние, то, как правило, это не будет иметь особого значения. Однако если приложение удалено из оперативной памяти и должно быть перезапущено, то его пользователи по достоинству оценят возможность начать работу с того же самого места.


Пользуйтесь методом Use applicationWillEnterForeground: и уведомлением UIAppli cationWillEnterForeground для отмены любой работы, проделанной при переходе из неактивного состояния в фоновое. В данный момент можно, например, восстановить постоянные сетевые соединения.


Переход из неактивного состояния в активное.

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


У перехода из неактивного состояния в фоновое имеется еще одна особенность. Он требует не только самого подробного описания, но и больше всего кода и времени в большинстве приложений из-за объема операций учета используемых системных ресурсов, которые, возможно, придется вести в вашем приложении. Когда совершается подобный переход, система не предоставляет неограниченное время на сохранение внесенных изменений, но дает на это не более пяти секунд. И если вашему приложению потребуется больше времени для возврата из данного метода делегата (и обработки любых зарегистрированных вами уведомлений), ваше приложение будет в конечном итоге удалено из оперативной памяти и переведено в состояние невыполнения! Если же это вас не устраивает, можете получить отсрочку. На время обращения к данному методу делегата или обработки соответствующего уведомления вы можете дать системе некоторую дополнительную работу, чтобы она выполнила ее для вас в очереди фоновых заданий, и тем самым выиграть немного времени. Этот прием будет продемонстрирован в следующем разделе.


  • Дата: 6-01-2015, 12:46

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Переход из фонового состояния в неактивное

Технологии, секреты и фишки Apple: Iphone, iPad, iPod