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

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

multitasking-9_2x

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

  • Тщательно регулировать использование ресурса, чтобы избежать чрезмерной нагрузки на центральный процессор, память, пространство экрана и другие ресурсы
  • Изящно управлять прерыванием работы и аудио потоками других приложений
  • Останавливать и перезапускать (то есть переходить к приложению в/из фонового режима) быстро и плавно
  • Корректно продолжать работать в свернутом состоянии

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

Будьте готовы к сбоям и возобновлениям работы. Многозадачность увеличивает вероятность того, что фоновое приложение прервет работу вашего приложения. Другие функции, такие как наличие рекламы и быстрое переключение приложений, могут стать причиной более частых сбоев. Чем быстрее и точнее вы сможете сохранить текущее состояние вашего приложения, тем быстрее пользователи смогут возобновить или продолжить работу с момента возникновения сбоя. Чтобы предоставить пользователям опыт плавного возобновления работы, воспользуйтесь преимуществами сохранения состояния и функции возобновления UIKit (для большей информации см. Preserving Your App’s Visual Appearance Across Launches).

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

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

Убедитесь, что аудио функционирует должным образом. Многозадачность делает более вероятной возникновение другой медиа-активности во время работы вашего приложения. Она также повышает вероятность того, что для устранения прерываний придётся приостановить аудио, а затем возобновить. Для получения точных рекомендаций, которые помогут вам убедиться, что аудио оправдывает ожидания пользователей и правильно сосуществует с другими аудио на устройстве, см. раздел Звук.

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

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

Copyright © 2016. iOSManual Все авторские права защищены