Обзоры и статьи / Многозадачность в Windows Phone 7 Series

Многозадачность в Windows Phone 7 Series

Одним из наиболее спорным вопросом, обсуждаемых при рассмотрении Windows Phone 7 Series является многозадачность, а точнее ее отсутствие. Как выяснилось, этот вопрос вызывает озабоченность у большого числа пользователей и разработчиков. Давайте подробнее рассмотрим этот вопрос. Для этого обратимся к реализации многозадачности в Windows Phone Classic (старое название – Windows Mobile 5.x, 6.x).

В Windows Phone Classic многозадачность была реализована в полной мере. Это означает, что в один и тот же момент времени без приостановки могут выполнятся несколько приложений. Это, по сути, некоторый аналог настольной платформе, где этот процесс выглядит аналогичным образом. Однако, давайте подумаем – а действительно ли использование подобного подхода для мобильной платформы также обоснованно, как и для настольной?

Давайте попробуем представить типичный сценарий использования мобильных устройств. Наверняка он будет включать в себя использование нескольких приложений поочередно в течении длительного количества времени. Например, в данный момент я использую несколько таких приложений: просмотр фотографий, чтение электронной почты, чтение ленты Twitter, просмотр текущего трафика, Windows Media Player, редактирование и просмотр документов Microsoft Office, просмотр документов PDF, калькулятор и др. При длительном использовании устройства можно обнаружить, что в памяти загружены все или часть этих приложений, при этом в данный момент они совершенно не нужны, поскольку нет необходимости в их использовании. Тем не менее, в данный момент они действительно загружены в память и исполняются, загружают центральный процессор, занимают память и расходуют батарею. Конечно, некоторая часть пользователей внимательно следит за тем, чтобы в данный момент были загружены только необходимые приложения, но так делают далеко не все. Именно по этой причине использование подобного подхода не является обоснованным для мобильной платформы.

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

Разработчики Windows Phone 7 Series решили не прибегать к крайностям и выбрали золотую середину. В Windows Phone 7 Series в каждый момент времени может выполнятся только одно запущенное приложение. При этом существует набор системных приложений, которые могут выполняться “в фоне”. При переходе на главное окно или переключении на другие окна, текущее приложение переключается в приостановленное состояние. Что интересно, операционная система в произвольный момент времени может вовсе удалить этот процесс из памяти. Поэтому в момент приостановки следует сохранить состояние приложения, а в момент возврата к приложению – восстановить это состояние. Служебные механизмы Windows Phone 7 Series самостоятельно выполняют действия по сохранению и восстановлению состояния, поэтому разработчику приложения не нужно об этом заботиться. Пользователь при переключении между приложениями также не заметит никакой разницы, если приложение было удалено из памяти – он вернется к тому состоянию, в котором находилось приложение в последний раз.

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

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

Однако, ряд задач не могут быть реализованы при использовании описанного процесса. Дело в том, что есть некоторые задачи, которые требуют фонового исполнения. Например, это может быть приложение для записи GPS-трека пользователя или будильник, который должен сработать в определенный момент. К сожалению, в той версии Windows Phone 7 Series, которая была представлена на MIX 2010 эта функциональность не реализована. Однако, команда разработчиков в данный момент занимается этим сценарием и в ближайшее время мы с вами сможем попробовать реализовать и такие сценарии.

Таким образом, видно, что подход для организации работы множества приложений в Windows Phone 7 Series стал более эффективным, чем он был реализован ранее, в Windows Phone Classic.

Системные требования: Нет данных
Автор/Разработчик: sergey.zwezdin
Оф. сайт/Источник: http://blog.zwezdin.com/ru/178
Как бесплатно качать с файлообменников

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
  1. Люди вы не видели 7ку,увидите тогда будете говорить.
  1. Идиотизм. Память за 2 года выросла в 6 раз. Через пару лет никого вообще не будет беспокоить количество используемой памяти.
    Они что, операционку на 2 года разрабатывают?
    А с выгрузкой/загрузкой стопудово будут проблемы типа многолетних проблем режима сна в Vist'е или Win7.

    По ходу, ещё год будет актуальна 6.5.5/6.5.6, а дальше - только андроид.
    Т.е. в этом году мобилу менять вообще смысла нет.
  1. Сомнительная концепция. Мне кажется, что тут не надо изобретать велосипед, а применить многозадачность как в классической мобильной винде.
  1. вот мне нравится, что за меня решили, что мне не нужна многозадачность.
    Чаще всего у меня висят 4-6 активных прог: например, щас книгочиталка Олридер, аська Пигеон, календарь, проводник, контакты. Да, ВМ7 - для америкосов - во время Буша смотрел их соцопрос: большая половина америкосов не знала фамилию своего презика. Откуда им знать, что такое многозадачность? Толпа рулит рынком предложений.

  1. У меня есть такое предположение. Windows Phone 7 - для телефонов. будет еще Windows PDA для кпкшников. типа как smartphone версия и полноценная. Хотя, может я не прав, но мне кажется это вполне логичным.
  1. Верните Windows 3.11 и проц на 18 МГц!!!
  1. Пропаганда напоминает впаривание идеи, что доширак, макдональдс и кока-кола - это правильно, а то, что мы раньше ели - мусор.
    Я уж как-нить сам решу, какие проги и когда запускать и останавливать.
    Нивжисть не пересяду на эту херь.
  1. Цитата: firemountain
    НЕ вышло еще ни одного аппарата, а все уже не довольны. Даже если такая реализация многозадачности для вас не катит, то придется сидеть на 6.1 потому что у всех современных ОС тоже самое

    кто это сказал?на андроиде вполне нормальная многозадачность
  1. НЕ вышло еще ни одного аппарата, а все уже не довольны. Даже если такая реализация многозадачности для вас не катит, то придется сидеть на 6.1 потому что у всех современных ОС тоже самое)
  1. Имхо, если эта система будет только для телефонов то могут и забить на многозадачность. А как быть с другими устройствами, работающими на WM.
  1. Цитата: lost-s0u1
    Если выпустят, то многозадачность будет, но реализоваться она будет довольно криво.

    ну почему же? Если дадут, многозадачность будет более-менее :)
    Другое дело, что, если вспомнить свой опыт общения с осями мелкомягких (жесткую интергацию WMP, IE и т.п.), это вызовет сильные сомнения.
    Вообще - зачем придумывать велосипед? Они уже когда реализовывали "гениальную" систему управления приложениями (на 2003 Smartphone, за остальные не знаю), когда приложение не закрывалось, а только сворачивалось, чтобы при необходимости быстро запускаться. А выгружалось только тогда, когда памяти не оставалось. Как работало на практике кто-то помнит? А работало это так: выпустили диспетчеры задач, умеющие убивать процессы и люди сами закрывали проги, приходя тем самым к модели подобной ББ. MS Эпикфейл.
  1. Нелогично. Зачем тратить время и средства на изобретение какой то чуши, затем тратиться на убеждение, когда можно сразу сделать хорошее и выжать денег...

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

    Сейчас набегут любители МС, которые хавают все, что им предложат и объяснят что ты censored и ничего не понимаешь в этих операционках, и что все логично и лучше чем было.
    Железо должно использоваться не для забиванием фона, а для работы приложений мощных: игр, фильмов, музыки, инета и так далее.

    Ага, и самое главное для работы "новой, высокоскоростной" ОС с красивым интерфейсиком на WPF
    При этом существует набор системных приложений, которые могут выполняться ”в фоне”

    Я так понимаю, не дадут посидеть в фоне стороннему плееру или все-таки выпустят SDK, чтоб можно было эти системные фоновые приложения клепать? Если нет, то разработчики слезут с WP7. Если выпустят, то многозадачность будет, но реализоваться она будет довольно криво.

  1. >>
    Конечно, некоторая часть пользователей внимательно следит за тем, чтобы в данный момент были загружены только необходимые приложения, но так делают далеко не все. Именно по этой причине использование подобного подхода не является обоснованным для мобильной платформы.
    >>

    Если человек - Дэбил, то это не значит, что все окружающие такие же дэбилы. Т.е. у человека не хватает мозгов для того чтобы знать что ему надо а что нет, и МС приходит к этим дэбилам на помощь и решает за них.

    Я вообще не понимаю проблему, если я работаю с приложением оно висит в памяти, если нет я его закрываю. Все ... Зачем мудрить.. ТО что у них летит батарея - это не из-за за того что приложения в фоне работают, а из за того что ОС опрашивает кучу датчиков, и прорисовывает, рюшечки и анимации.

    Если кто не в курсе - обьемный цветной бар забирает в среднем 5% батареи. Т.к. проц все время при открытии окна рисует градиенты.
  1. те кто сейчас пользуются 6.5 и 6.1 - нивжизь на 7-ку не перейдут, т.к это откат к смартфонам. Их будут брать новички или те кто со смартфонов переходит на кпк, т.е не продвинутые и не искушённые, ну ещё девушкам понравится. А нам придётся на другую ось уходить или байкотировать 7-ку, что я и намерен делать. Нас разводят.
  1. есть хорошая поговорка для этого случая.
    Все новое - это давно забытое старое(дополнение:в новой обгортке)
  1. Цитата: krekbrek
    когда можно сразу сделать хорошее и выжать денег

    почитай про копроэкономику wink они не могут делать каждый раз лучше чем то что было сделано до этого. Ибо это FAIL в перспективе стопудовый.
  1. это они типа попытались оправдать отсутствие мультизадачности???
  1. откуда система узнает что можно вырубить, а что нет?
    а вот это вообще бред когда некоторые приложения будут вырубаться а некоторые волшебным образом будут оставаться в фоне, как операционка может определить что ей можно а что нельзя!!!? для этого по крайней мере человек при установке приложения должен указывать чему работать в фоне а что можно вырубать!!! тоже самое с icq, сворачиваю я моего клиента, а новые сообщения не поступят пока я снова не обращусь к приложению!!! бред, бред, бред!!!
  1. Так такой принцып был реализован ещё в первых сониэриксонах! Чёта прогрес превратился в регрес для майкрософт! Странные они или мы просто думаем что самые умные по принцыпу (Все ..... один я Дартаньян!) Вот как появмтся в продаже тогда и посмотрим кто круче Яблофоны Андройды или WP7
  1. как-то бестолково thumbdown ..автоматом вырубать процессы...лично мне не нравится, когда система сама процессы убивает bully
  1. krekbrek,
    userid1,

    да, насчет операционки в телах правильно подмечено, ее не может не есть!
    +10

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

    Если мелкие не одумаются.
  1. есть один неприятный момент в этой тупой системе памяти.вспомните что не все проги даже самые легкие не загружаються моментально,особенно если работают с большими файлами(например у меня читалка книгу в 2-3 метра открывает несколько секунд).поэтому постоянно придеться ждатькогда все проги будут открываться,потому что хоть там требования и большие,но даже самое крутое железо иногда тормозит
  1. Цитата: MrAC
    выжать с нас денег, ЛЮБЫМИ способами будут убеждать нас, что все, что они придумали - это для нашего же удобства... ну и т.д.

    Нелогично. Зачем тратить время и средства на изобретение какой то чуши, затем тратиться на убеждение, когда можно сразу сделать хорошее и выжать денег...
  1. категорически согласен с spiro92
    кто нибудь понимает о чем пишут?
    отметаем лишние коменты: http://ru.wikipedia.org/wiki/Многозадачность
  1. Цитата: userid1
    На современных телефонах есть и процессор, и оперативка

    +10, а то я уже испугался, что от жизни отстал и пропустил, что то важное в телефоностроении. Тут один товарисчч с очень большим апломбом утверждал обратное и я подумал, что микросхемы сами думать начали wink
  1. есть и интересные мысли - но в общем полная чушь
  1. Цитата: Rhino92
    Именно! Кто высшее звено пищевой цепочки - я или процессор? Удобно должно быть мне

    Высшее звено цепочки - владельцы корпорации, которым важно ЛЮБЫМИ способами выжать с нас денег, ЛЮБЫМИ способами будут убеждать нас, что все, что они придумали - это для нашего же удобства... ну и т.д.
  1. Смотрю что придеться пересесть на андрона или яблоко.Чуток они с семеркой надавили,тоисть подгибают под себя и мы платим за их же пожже доработки.Выходит рас купил тело,а пожже купи только у них продукт для него который разнообразит програмы:)Эт мое мнение.
  1. блин, зачем новости про этот отстой тоннами постить? По-моему уже и так всё ясно.
  1. Многие новости с этого сайта можно смотреть на - "первом игровом" - канале.