Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Инструкции по Интерфейсу пользователя iOS

iBook

Многозадачность

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

image: ../Art/multitasking_2x.png

Для поддержки этого опыта многозадачность позволяет приложению вводить состояние ожидания в фоновом режиме, когда пользователи переключаются далеко от него. Когда пользователи переключаются назад на приложение, приложение может возобновиться быстро, потому что это не должно перезагружать свой UI. Люди используют многозадачный UI (показанный выше) для выбора недавно используемого приложения.

Процветание в многозадачной среде зависит от достижения гармоничного сосуществования с другими приложениями на устройстве. На высоком уровне это означает, что все приложения должны:

  • Прерывания дескриптора или аудио из других приложений корректно

  • Остановите и перезапустите — т.е. переход к и от фона — быстро и гладко

  • Ведите себя ответственно если не на переднем плане

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

Будьте подготовлены к прерываниям, и быть готовы возобновиться. Многозадачность увеличивает вероятность, что фоновое приложение прервет Ваше приложение. Другие функции, такие как присутствие объявлений и более быстрое переключение приложения, могут также вызвать более частые прерывания. Чем более быстро и точно можно сохранить текущее состояние приложения, тем более быстрые люди могут повторно запустить его и продолжать от того, где они кончили. Чтобы дать пользователям бесшовный опыт перезапуска, используйте в своих интересах функциональность сохранения и восстановления UIKIT состояния (для получения дополнительной информации, посмотрите Сохранение Визуального Появления Вашего Приложения Через Запуски).

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

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

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

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

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