Фоновое исполнение задач в Windows Phone 7
Мой
Главное, что хочется сказать - многозадачность в Windows Phone 7 есть (дочитайте до конца и убедитесь, что это действительно так). Процессы в операционной системе исполняются параллельно и могут обрабатывать задачи пользователя.
Путаницу вызывает то, что Windows Phone 7 приостанавливает приложения Silverlight и XNA при переключении на другое приложение или при возникновении какого-либо события (например, звонок по телефону). Более того, приложение может быть и вовсе удалено из памяти, если операционной системе будет недостаточно ресурсов (состояние приложение при этом не теряется и будет восстановлено операционной системой при следующем запуске приложения).
Однако, как я
Таким образом, для приложений, которым важна именно работа в фоне предлагается модель разработки, при которой приложение на Silverlight/XNA будет некоторой графической оболочкой, а фоновая служба - некоторой логикой, которая работает постоянно. В таком случае приостановка/выгрузка именно приложения Silverlight/XNA очень логична, поскольку это всего лишь пользовательский интерфейс для работающей в фоне службы (которая, напомню, не приостанавливается).
Кроме того, нужно не забывать о том, что в Windows Phone 7 существуют уведомление (Push Notifications), которые позволяют по внешнему событию восстановить работу и приложения Silverlight/XNA, т.е. по сути запустить нашу графическую оболочку.
Еще одним подтверждением наличия многозадачности является то, что эмулятор, поставляемый в составе Windows Phone Developers Tools CTP на данный момент не реализует полностью функциональность приостановки приложений в момент переключения. Это означает, что если мы напишем небольшое приложение, которое по таймеру увеличивает счетчик и отображает его на форме, запустим приложение и переключимся на другое приложение, то таймер все равно будет работать.
Естественно эта недоработка версии CTP будет исправлена в последующих выпусках. Однако сейчас это дает право убедиться в том, что на уровне операционной системы многозадачность поддерживается в полном объеме.
Примеры задач, требующих фонового исполнения, которые смогли привести мои собеседники:
- клиенты IM (Jabber, ICQ, MSN, ..);
- запись трека GPS (другие сценарии работы с GPS);
- антивирусное ПО;
- проигрывание музыки;
- агенты для корпоративного использования;
- загрузка почты;
- будильник;
- автоматическое обновление социальных служб (например, Twitter) при изменении условий (например, местоположения).
Как видно, предложенный подход к организации многозадачности позволяет покрыть каждый из этих сценариев. Это означает, что Windows Phone 7 есть полноценная многозадачность, а не "немного многозадачности". Если в этом списке нет какого-либо случая, который невозможно реализовать используя приведенную концепцию - дайте нам знать.
На этом, я надеюсь, мифы об отсутствии многозадачности в Windows Phone 7 будут развенчаны, а будущие пользователи Windows Phone 7 останутся довольными.
Источник:
Автор: sergey.zwezdin
Комментарии
"В таком случае приостановка/выгрузка именно приложения Silverlight/XNA очень логично"
"Это означает, что в Windows Phone 7 есть полноценная многозадачность"
По теме
- Microsoft продлила поддержку Windows 10 Mobile 1709 до 14 января
- Microsoft прекращает поддержку Windows 10 Mobile
- Microsoft рекомендует обновить мобильную Windows 10 на настольную систему
- Windows 10 Mobile тоже получит обновление April 2018 Update
- Apple тестирует Windows 10 Mobile на прототипе iPhone?
- Telegram обновил свое приложение для Windows 10 Mobile и Windows Phone 8.1
- Пользователи Windows Phone 8.1 не могут скачивать приложения из Windows Store, но решение есть
- Инсайдерам доступно обновление Фотографий на Windows 10 Mobile
- Новых инсайдерских сборок Windows 10 Mobile больше не будет
- Как выглядела бы Windows 10 Mobile, если бы ее разработка продолжалась