Uwp приложения что это в windows 10 как отключить

Как отключить приложения UWP, работающие в фоновом режиме в Windows 10

В Windows 10 многие приложения работают в фоновом режиме, синхронизируют уведомления и выполняют обновления. Однако вы можете заблокировать его. Посмотрите, как отключить приложения, запущенные в фоновом режиме в Windows 10.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

В Windows 10 вы найдете множество приложений, установленных по умолчанию, которые могут выполняться в фоновом режиме. Все приложения UWP (Universal Windows Platform), которые одновременно загружаются из Windows 10 Store, а также те, у которых есть новый интерфейс, имеют возможность запускаться в фоновом режиме. Это можно использовать, например, для обновления приложений или для проверки уведомлений. Приложения такого типа могут также собирать, например, статистические данные и отправлять их в Microsoft.

К счастью, как пользователь вы полностью контролируете, какие приложения работают в фоновом режиме. Вы можете отключить фоновое действие выбранных приложений или полностью заблокировать фоновое действие приложения UWP. Это позволит сэкономить аккумулятор (если у вас есть ноутбук) и сбросить систему.

Отключение приложений UWP, работающих в фоновом режиме в Windows 10

Соответствующий параметр можно найти в системных настройках. Для этого откройте меню «Пуск», затем щелкните значок шестеренки, чтобы ввести настройки.

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

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Здесь вы можете найти список всех приложений, которые могут выполняться в фоновом режиме. Как я уже упоминал, это, конечно, приложения типа UWP, то есть системные приложения из Windows 10 или приложения, загруженные из хранилища Windows 10. Вы не найдете классические программы, такие как Windows 7.

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

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

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

Источник

Удаление предустановленных UWP (APPX) приложений в Windows 10

Windows 10 поставляется с набором предустановленных современных (Modern) UWP приложений (ранее они назывались Metro Apps или APPX). Это Калькулятор, Календарь, Почта, Кортана, Карты, Новости, OneNote, Groove Music Камера и т.д. UWP приложения Windows 10 автоматически в профиль пользователя устанавливаются при первом входе в систему. Большинстве из этих приложения не нужны бизнес пользователям, поэтому их обычно требуют удалить. В этой статье мы рассмотрим, как правильно удалить встроенные UWP/APPX приложения в Windows 10, что позволит сохранить дополнительное место на системном диске и уберет ненужные элементы в стартовом меню.

Удаление UWP приложений из меню Параметры Windows 10

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Таким образом вы удалили UWP приложение только в профиле текущего пользователя. При входе любого другого нового пользователя, appx приложение автоматически установится из системного хранилища.

Кроме того, обратите внимание, что у большинства предустановленных современных приложений просто недоступна кнопка Uninstall.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Удалить такие системные приложения Windows 10 можно только с помощью командной строки Powershell.

Как удалить определенное UWP приложение в Windows 10 из PoweShell?

Рассмотрим, как удалить конкретное UWP приложение в Windows 10 с помощью PowerShell. Обратите внимание, что в Windows 10 есть два типа приложений:

Запустите консоль PowerShell с правами администратора. Следующая команда выведет список современных приложений, установленных для вашего аккаунта:

Get-AppxPackage | select Name,PackageFullName,NonRemovable

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Если вы удалил приложение из графического интерфейса Windows 10, оно пропадет из этого списка.

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

Чтобы найти приложение по имени, используйте такую команду (в этом примере мы ищем приложение BingWeather):

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Для удаления конкретного appx приложения для текущего пользователя, вам нужно скопировать название пакета из столбца PackageFullName (полное имя пакета) и вставить его в команду Remove-AppxPackage:

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Команда удалила приложение только для текущего пользователя. Чтобы удалить приложение у всех пользователей компьютера, используйте параметр –AllUsers:

При таком удалении приложения оно все еще остается в системе в состоянии Staged (и хранится на диске в каталоге C:\Program Files\WindowsApps). Состояние Staged, означает, что приложение будет устанавливаться для каждой новой учетной записи на этом компьютере.

Теперь посмотрим на список Staged приложений, которые встроены в образ Windows и автоматически устанавливаются всем пользователям при первом входе на компьютер:

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Чтобы полностью удалить определенное UWP приложение из образа Windows 10, нужно указать его имя в команде Remove-AppxProvisionedPackage:

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Теперь при входе нового пользователя Windows 10 это приложение не будет устанавливаться в его профиль.

Удаляем сразу все ненужные UWP приложения в Windows 10

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

Не стоить удалять системные приложения, такие как Microsoft.VCLibs, Microsoft.NET.Native.Framework, Microsoft.NET.Native.Runtime, Microsoft.WindowsStore. То же Microsoft Photos при определенной настройке работает вполне быстро, но конечно не так удобно как классическое “Средство просмотра фотографий”.

При удалении магазин приложений Microsoft вы не сможете установить приложения из Windows Store. Впрочем, UWP приложения можно устанавливать и из командной строки при наличии appx файла (а вот здесь описан способ позволяющий получить установочный appx файл любого приложения Магазина Windows).

Кроме того, некоторые предустановленные UWP приложения в Windows, восстановить его довольно сложно. По ссылке доступна статья про восстановить Windows Store в Windows 10 после его удаления через PowerShell.

Создадим список приложений, которые нужно удалить:

Теперь удалим эти приложения как в образе Windows 10, так и в профилях всех пользователей:

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Теперь проверьте список приложений, оставшихся в образе Windows. Список должен серьезно уменьшится:

Таким образом, все новые учетные записи будут создаваться без встроенных приложений Windows 10 (профили новых пользователей будут создаваться быстрее).

Также для удобства ручного удаления вы можете вывести список всех установленных приложений Widows 10 с помощью Out-GridView:

Данный скрипт выведет графическую таблицу со списком provisioned приложений в образе Windows 10. Вам достаточно выделить приложения, которые нужно удалить (несколько строк можно выбрать, зажав ctrl) и нажать Ok.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Вы можете удалять встроенные приложения уже после деплоя Windows 10 на компьютеры (например с помощью запуска скрипта PowerShell через GPO и обязательной фильтрации по версии билда Windows 10 с помощью WMI фильтров). Однако можно удалить приложения из смонтированного офлайн образа Windows, который вы используете для деплоя на рабочие станции (предположим, путь к подключенному образу — c:\offline).

Команда будет такой:

Если вам нужно переустановить удаленные приложения, можно воспользоваться командлетом Add-AppXPackage, который позволяет получить данные приложения из XML манифеста и зарегистрировать его в системе:

Источник

Как удалить встроенные в Windows 10 приложения UWP, которые обычным способом не удаляются

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Итак, есть два типа встроенных в Windows 10 приложений UWP – удаляемые и неудаляемые. Удаляемые мы, соответственно, можем удалить обычной кнопкой в системных параметрах.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Для неудаляемых эта кнопка будет неактивной.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Если нужно удалить из Windows 10 неудаляемое приложение, можно прибегнуть к помощи одной из предложенных ниже программ. Все они бесплатные.

Также на заметку: есть такие приложения UWP, которые связаны с работой других приложений UWP или системного функционала Windows 10. Следовательно, после удаления таких приложений могут быть проблемы в работе, соответственно, других приложений или системного функционала.

И самое важное напутствие: не удаляйте Cortana и браузер Microsoft Edge. Представленные ниже программы этого не предлагают, но в сети есть инструкции по удалению этих системных компонентов. Cortana и Edge являются неотъемлемой частью Windows 10, плотно интегрированы в неё, их удаление может иметь следствием некорректную работу всей операционной системы.

CCleaner

В разделе программы «Инструменты» в первой же вкладке «Удаление программ» кликаем ненужное приложение и удаляем его кнопкой «Деинсталляция» вверху справа или опцией с этим же названием в контекстном меню.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

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

IObit Uninstaller

Профильный деинсталлятор – программа Uninstaller – предлагает развёрнутые возможности для удаления программ из Windows. И в отдельном разделе «Приложения Windows» предусматривает удаление приложений UWP из «Десятки», включая неудаляемые.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

В другом находятся штатные приложения UWP – и удаляемые, и нет. Отмечаем галочкой те приложения, которые хотим удалить. И жмём кнопку «Деинсталлировать».

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

На следующем этапе программа предложит нам создать точку восстановления и применить функцию зачистки остатков приложений. Можем использовать эти возможности и установить их галочки. Жмём ещё раз «Деинсталлировать».

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

В конце программа выдаст нам отчёт о проделанной операции.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Чем хороша IObit Uninstaller для удаления не только неудаляемых приложений UWP из Windows 10, но любого софта из Windows в любой её версии, так это возможностью пакетной деинсталляции. Очень удобно такой программой в пакетном режиме удалять ненужные приложения UWP сразу же после переустановки Windows 10, пока их обновления они не начали нагружать системные ресурсы. IObit Uninstaller, как упоминалось, является профильным деинсталлятором, у программы масса возможностей по этой части – зачистка остатков программ, отслеживание установки программ для наиболее корректной зачистки остатков при деинсталляции, удаление браузерных панелей.

Утилита-твикер WPD

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Синим блоком отмечаем приложения, которые мы хотим удалить. И жмём кнопку «Удалить выбранное».

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Утилита WPD, как видим, также предлагает удобство в виде пакетного удаления приложений. Её могут использовать для непосредственного решения поставленной в статье задачи те, кто между прочим интересуется темой приватности «Десятки».

Источник

Простая, быстрая и безопасная оптимизация Windows 10 за 10 минут в 2020 году

Большая проблема ОС Windows 10 состоит в том, что она окончательно превратилась в сервис и множество изменений в версиях делают неактуальными старые гайды по ее настройке. И эта же текучесть версий делает бессмысленной серьезную работу по глубокой оптимизации Windows 10 с внесением изменений в ее iso-образ, с применением таких средств, как MSMG ToolKit, NTLite или Win Toolkit.

реклама

Посудите сами, уже через полгода созданный с таким трудом iso-образ устареет, а через год станет совсем неактуальным, а внесенные в него изменения переключатся или откатятся большими обновлениями Windows.

Исключение составляют версии Windows 10 LTSB и LTSC, сохраняющие актуальность годами, но они и так довольно минималистичны в плане функций и особой доработки не требуют.

реклама

реклама

Мы будем использовать только групповые политики Windows 10, редактор реестра и утилиту Dism++. Утилита Dism++ является всего лишь удобной графической надстройкой над средством Dism, встроенным в Windows со времен Windows Vista.

Dism++ утилита портабельная, бесплатная и открытым исходным кодом. Скачать ее можно с сайта разработчика. Старайтесь всегда пользоваться самой свежей версией утилиты для новых выпусков Windows 10. А если пользоваться такими утилитами запрещено, например, на предприятии или в фирме, то все аналоги команд Dism++ можно сделать в Dism через командную строку.

реклама

Для этого создаем на рабочем столе bat-файл «InstGPE.bat» с вот таким содержанием:

Запускаем «InstGPE.bat» с правами администратора.

Отключаем автозапуск браузера EDGE

Теперь можно приступать к настройке Windows 10 и начнем мы с отключения запуска браузера EDGE. По умолчанию он автоматически стартует после запуска Windows или в простое и висит в процессах, забивая ОЗУ. Если же вы им пользуетесь, то пропустите этот пункт.

Запускаем редактор локальных групповых политик. Переходим в «Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Microsoft Edge«.

Далее выбираем пункт «Разрешить предварительный запуск Microsoft Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Microsoft Edge» и настраиваем его вот так.

А пункт «Разрешить Microsoft Edge запускать и загружать начальную страницу и страницу новой вкладки при запуске Windows и каждый раз при закрытии Microsoft Edge» настраиваем вот так.

Уменьшаем объем телеметрии

Именно уменьшаем, а не отключаем, поскольку отключить ее полностью довольно сложно. Переходим в пункт:

«Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Сборки для сбора данных и предварительные сборки«.

Переводим обновления Windows в ручной режим

Обновления Windows превратились в головную боль для многих пользователей. Совсем недавно в СМИ прошел скандал с новым бесполезным обновлением, которое всего лишь добавляет в меню «Пуск» ярлыки на облачные офисные продукты Microsoft и при этом перезагружает(!) компьютер без спроса.

Такое поведение можно было бы простить бесплатной ОС Андроид, но платная ОС так не должна вести себя. Обновления, выполняемые такими агрессивными и беспардонными методами, обязательно должны быть под вашим ручным контролем.

В редакторе групповых политик переходим по адресу «Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Центр обновления Windows«.

Можно поставить данный пункт в режим «Отключено».

При этом центр обновления будет выглядеть вот так.

Это только малая часть полезных настроек Windows в редакторе групповых политик. Ну а мы переходим к средству Dism++.

Первое, на что стоит обратить внимание, так это удобная очистка Windows, включая папку WinSxS.

В управлении Appx вы можете удалить встроенные UWP-приложения, превратив вашу систему в аналог LTSC.

Я удалил около половины UWP-приложений Windows 10 May 2020 Update, получив экономию около 1 Гб на системном диске. Оставил я только вот такие (кортана отключена).

Еще более тонкую настройку и удаление ненужных компонентов можно выполнить в разделе «Компоненты Windows».

Раздел «Обновления» поможет удалить проблемное обновление.

И наконец раздел «Оптимизация». В нем можно сделать множество настроек, для которых обычно используют сторонние утилиты.

Все изменения в Windows через Dism++ происходят быстро и наш план действий будет такой. После переустановки Windows скачиваем актуальную версию Dism++, делаем полезные твики, удаляем ненужные UWP-приложения, останавливаем ненужные службы. Все это займет не больше 10 минут.

Отключение зарезервированного хранилища Windows 10

Для отключения надо будет запустить редактор реестра regedit от администратора.

В расположении «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager» меняем параметр ShippedWithReserves с 1 на 0.

Выводы

Пишите в комментарии, как и чем вы настраиваете Windows 10?

Источник

Жизненный цикл приложения универсальной платформы Windows (UWP) для Windows 10 Windows 10 universal Windows platform (UWP) app lifecycle

В этой статье рассказывается о жизненном цикле приложения универсальной платформы Windows (UWP) с момента его активации и до закрытия. This topic describes the lifecycle of a Universal Windows Platform (UWP) app from the time it is launched until it is closed.

Немного истории A little history

В Windows 8 была представлена новая модель приложений — приложения UWP. Windows 8 introduced a new application model with UWP apps. На высоком уровне было добавлено новое приостановленное состояние. At a high level, a new suspended state was added. Приложение UWP приостанавливается вскоре после того, как пользователь свернет его или переключится на другое приложение. A UWP app is suspended shortly after the user minimizes it or switches to another app. Это означает, что потоки приложения будут остановлены, а приложение останется в памяти, если операционной системе не потребуется освободить ресурсы. This means that the app’s threads are stopped and the app is left in memory unless the operating system needs to reclaim resources. Когда пользователь вернется к этому приложению, его работу можно будет быстро восстановить. When the user switches back to the app, it can be quickly restored to a running state.

Существуют различные способы для продолжения работы приложений в фоновом режиме, например фоновые задачи, расширенное выполнение и спонсируемое действием выполнение (например, функция BackgroundMediaEnabled, которая позволяет приложению продолжать воспроизведение мультимедиа в фоновом режиме). There are various ways for apps that need to continue to run when they are in the background such as background tasks, extended execution, and activity sponsored execution (for example, the BackgroundMediaEnabled capability which allows an app to continue to play media in the background). Кроме того, фоновые операции передачи также могут продолжаться, даже если приложение приостановлено или закрыто. Also, background transfer operations can continue even if your app is suspended or even terminated. Дополнительные сведения см. в разделе Как скачать файл. For more info, see How to download a file.

По умолчанию приложения в фоновом режиме приостанавливаются, что приводит к экономии электроэнергии и освобождению ресурсов для активных приложений. By default, apps that are not in the foreground are suspended which results in power savings and more resources available for the app currently in the foreground.

Приостановленное состояние несет с собой новые требования для вас как разработчика, поскольку операционная система может по своему усмотрению завершить работу приостановленного приложения, чтобы освободить ресурсы. The suspended state adds new requirements for you as a developer because the operating system may elect to terminate a suspended app in order to free up resources. Завершенное приложение будет по-прежнему отображаться на панели задач. The terminated app will still appear in the task bar. Если пользователь щелкнет его, приложение должно восстановить состояние, в котором оно было, прежде чем оно было закрыто, поскольку пользователь не будет знать, что система закрыла приложение. When the user click on it, the app must restore the state that it was in before it was terminated because the user will not be aware that the system closed the app. Пользователи могут решить, что приложение ожидало возобновления в фоновом режиме, когда они выполняли другие задачи, поэтому они будут ждать, что приложение окажется том же состоянии, в котором оно находилось ранее. They will think that it has been waiting in the background while they were doing other things and will expect it to be in the same state it was in when they left it. В этой статье мы рассмотрим, как реализовать это. In this topic we will look at how to accomplish that.

В Windows 10 версии 1607 представлены два дополнительных состояния модели приложения: Работает на переднем плане и Работает в фоновом режиме. Windows 10, version 1607, introduces two more app model states: Running in foreground and Running in background. Мы также рассмотрим эти новые состояния в следующих разделах. We will also look at these new states in the sections that follow.

Состояние выполнения приложения App execution state

На рисунке показаны возможные состояния модели приложений начиная с Windows 10 версии 1607. This illustration represents the possible app model states starting in Windows 10, version 1607. Изучим стандартный жизненный цикл приложения UWP. Let’s walk through the typical lifecycle of a UWP app.

Uwp приложения что это в windows 10 как отключить. Смотреть фото Uwp приложения что это в windows 10 как отключить. Смотреть картинку Uwp приложения что это в windows 10 как отключить. Картинка про Uwp приложения что это в windows 10 как отключить. Фото Uwp приложения что это в windows 10 как отключить

Приложения переходят в фоновый режим при запуске или активации. Apps enter the running in background state when they are launched or activated. Если приложению нужно перейти на передний план в связи с запуском приложения переднего плана, приложение получает событие LeavingBackground. If the app needs to move into the foreground due to a foreground app launch, the app then gets the LeavingBackground event.

Хотя термины «запущен» и «активирован» кажутся похожими, они отражают различные способы запуска приложения операционной системой. Although «launched» and «activated» may seem like similar terms, they refer to different ways the operating system may start your app. Сначала рассмотрим запуск приложения. Let’s first look at launching an app.

Запуск приложения App launch

При запуске приложения вызывается метод OnLaunched. The OnLaunched method is called when an app is launched. Ему передается параметр LaunchActivatedEventArgs, который, помимо прочего, предоставляет аргументы, переданные приложению, идентификатор плитки, которая запустила приложение, и его предыдущее состояние. It is passed a LaunchActivatedEventArgs parameter which provides, among other things, the arguments passed to the app, the identifier of the tile that launched the app, and the previous state that the app was in.

Получить предыдущее состояние приложения можно с помощью функции LaunchActivatedEventArgs.PreviousExecutionState, которая возвращает объект ApplicationExecutionState. Get the previous state of your app from LaunchActivatedEventArgs.PreviousExecutionState which returns an ApplicationExecutionState. Далее описаны его значения и соответствующие действия. Its values and the appropriate action to take due to that state are as follows:

ApplicationExecutionState ApplicationExecutionStateОбъяснение ExplanationПредстоящее действие Action to take
Не работает NotRunningПриложение могло быть в этом состоянии, поскольку оно еще не запущено с момента последней перезагрузки или входа пользователя в систему. An app could be in this state because it hasn’t been launched since the last time the user rebooted or logged in. Кроме того, приложение может оказаться в этом состоянии, если оно работало, но затем было закрыто пользователем или в результате сбоя. It can also be in this state if it was running but then crashed, or because the user closed it earlier.Инициализировать приложение так, будто оно запускается в первый раз в сеансе текущего пользователя. Initialize the app as if it is running for the first time in the current user session.
Приостановлена SuspendedПользователь свернул приложение или переключился на другую задачу и не вернулся в течение нескольких секунд. The user either minimized or switched away from your app and didn’t return to it within a few seconds.Если приложение было приостановлено, его состояние сохраняется в памяти. When the app was suspended, its state remained in memory. Вам нужно просто повторно получить все дескрипторы файлов или другие ресурсы, освобожденные, когда приложение было приостановлено. You only need to reacquire any file handles or other resources you released when the app was suspended.
Завершен TerminatedПриложение было ранее приостановлено, но затем закрыто, поскольку системе потребовалась дополнительная память. The app was previously suspended but was then shutdown at some point because the system needed to reclaim memory.Восстановить состояние, в котором приложение находилось, когда пользователь переключился на другую задачу. Restore the state that the app was in when the user switched away from it.
ClosedByUser ClosedByUserПользователь закрыл приложение жестом в режиме планшета или с помощью сочетания клавиш ALT+F4. The user closed the app with the close gesture in tablet mode, or with Alt+F4. Когда пользователь закрывает приложение, оно сначала приостанавливается и затем завершает работу. When the user closes the app, it is first suspended and then terminated.Так как приложение, по сути, прошло те же этапы, которые ведут к состоянию Terminated, выполните такие же действия, как и для этого состояния. Because the app has essentially gone through the same steps that lead to the Terminated state, handle this the same way you would the Terminated state.
Выполнение RunningПриложение было уже открыто, когда пользователь попытался запустить его снова. The app was already open when the user tried to launch it again.Никакие. Nothing. Обратите внимание, что другой экземпляр приложения не запущен. Note that another instance of your app is not launched. Уже запущенный экземпляр просто активируется. The already running instance is simply activated.

Примечание. Текущий сеанс пользователя основан на входе в систему Windows. Note Current user session is based on Windows logon. Пока текущий пользователь не выйдет из системы, не завершит работу или не перезагрузит Windows, сеанс этого пользователя сохраняется для всех событий, таких как проверка подлинности на экране блокировки, переключение пользователя и т. д. As long as the current user hasn’t logged off, shut down, or restarted Windows, the current user session persists across events such as lock screen authentication, switch-user, and so on.

Следует помнить об одном из важных обстоятельств — если у устройства достаточно ресурсов, операционная система будет предварительно запускать часто используемые приложения, для которых такая функция разрешения, чтобы оптимизировать производительность. One important circumstance to be aware of is that if the device has sufficient resources, the operating system will prelaunch frequently used apps that have opted in for that behavior in order to optimize responsiveness. Приложения, которые предварительно запускаются в фоновом режиме, а затем быстро приостанавливаются, чтобы когда пользователь переключился на них, их можно было возобновить, что будет быстрее, чем обычный запуск приложения. Apps that are prelaunched are launched in the background and then quickly suspended so that when the user switches to them, they can be resumed which is faster than launching the app.

Из-за предварительного запуска метод OnLaunched() приложения может быть вызван системой, а не пользователем. Because of prelaunch, the app’s OnLaunched() method may be initiated by the system rather than by the user. Поскольку приложение предварительно запущено в фоновом режиме, может потребоваться другое действие в OnLaunched (). Because the app is prelaunched in the background you may need to take different action in OnLaunched(). Например, если приложение начинает воспроизводить музыку после запуска, будет неизвестно, откуда она берется, поскольку приложение было предварительно запущено в фоновом режиме. For example, if your app starts playing music when launched, they will not know where it is coming from because the app is prelaunched in the background. Как только приложение будет предварительно запущено в фоновом режиме, последует вызов Application.Suspending. Once your app is prelaunched in the background, it is followed by a call to Application.Suspending. Затем, когда пользователь запускает приложение, вызывается событие возобновления, а также метод OnLaunched(). Then, when the user does launch the app, the resuming event is invoked as well as the OnLaunched() method. Дополнительные сведения о работе с предварительным запуском см. в разделе Обработка предварительного запуска приложения. See Handle app prelaunch for additional information about how to handle the prelaunch scenario. Предварительно запускаются только приложения, которые явно разрешили эту функцию. Only apps that opt-in are prelaunched.

При запуске приложения Windows отображает его экран-заставку. Windows displays a splash screen for the app when it is launched. Подробнее о настройке экрана-заставки см. в статье Добавление экрана-заставки. To configure the splash screen, see Adding a splash screen.

Когда отображается экран-заставка, приложение должно зарегистрировать обработчики событий и настроить элементы пользовательского интерфейса для начальной страницы. While the splash screen is displayed, your app should register event handlers and set up any custom UI it needs for the initial page. Убедитесь, что эти задачи, выполняемые в конструкторе приложения и методе OnLaunched(), завершаются в течение нескольких секунд, или система может посчитать, что приложение не отвечает, и завершить его. See that these tasks running in the application’s constructor and OnLaunched() are completed within a few seconds or the system may think your app is unresponsive and terminate it. Если приложению требуется запросить данные из сети или получить большой объем информации с диска, эти действия необходимо совершать отдельно от запуска. If an app needs to request data from the network or needs to retrieve large amounts of data from disk, these activities should be completed outside of launch. Приложение может использовать собственный настраиваемый пользовательский интерфейс или расширенный экран-заставку, ожидая завершения таких продолжительных операций. An app can use its own custom loading UI or an extended splash screen while it waits for long running operations to finish. Подробнее см. в разделах Более продолжительное отображение экрана-заставки и Пример экрана-заставки. See Display a splash screen for more time and the Splash screen sample for more info.

После завершения запуска приложение переходит в состояние Running, и экран-заставка исчезает, а все соответствующие ресурсы и объекты удаляются. After the app completes launching, it enters the Running state and the splash screen disappears and all splash screen resources and objects are cleared.

Активация приложений App activation

В отличие от запуска пользователем приложение может быть активировано системой. In contrast to being launched by the user, an app can be activated by the system. Приложение может быть активировано контрактом, например контрактом отправки данных. An app may be activated by a contract such as the share contract. Кроме того, оно может быть активировано для обработки пользовательского протокола URI или файла с расширением, с которым связано ваше приложение. Or it may be activated to handle a custom URI protocol or a file with an extension that your app is registered to handle. Перечень способов активации приложения см. в статье ActivationKind. For a list of ways your app can be activated, see ActivationKind.

Класс Windows.UI.Xaml.Application определяет методы, которые можно переопределить для обработки различных типов активации приложения. The Windows.UI.Xaml.Application class defines methods you can override to handle the various ways your app may be activated. Метод OnActivated используется для обработки всех возможных типов активации. OnActivated can handle all possible activation types. Однако более часто используются другие методы обработки наиболее распространенных типов активации, и метод OnActivated используется как резервный для менее распространенных типов активации. However, it’s more common to use specific methods to handle the most common activation types, and use OnActivated as the fallback method for the less common activation types. Существуют другие методы для конкретных активаций: These are the additional methods for specific activations:

Данные события для этих методов содержат то же свойство PreviousExecutionState, которое мы видели выше. Оно указывает, в каком состоянии находилось приложение перед активацией. The event data for these methods includes the same PreviousExecutionState property that we saw above, which tells you which state your app was in before it was activated. Интерпретируйте состояние и определите ваши действия так же, как описано в разделе Запуск приложения. Interpret the state and what you should do it the same way as described above in the App launch section.

Примечание. Если вы войдете в систему с учетной записью администратора, то не сможете активировать приложения UWP. Note If you log on using the computer’s Administrator account, you can’t activate UWP apps.

Выполнение в фоновом режиме Running in the background

Начиная с Windows 10 версии 1607 приложения могут выполнять фоновые задачи в том же процессе, в котором работает само приложение. Starting with Windows 10, version 1607, apps can run background tasks within the same process as the app itself. Подробнее об этом см. в статье Модель фонового действия с одним процессом. Read more about it in Background activity with the Single Process Model. В этой статье мы не рассматриваем фоновую обработку с одним процессом, но следует отметить, что в жизненный цикл приложения добавлены два новых события, связанные с фоновым выполнением приложения. We won’t go into in-process background processing in this article, but how this impacts the app lifecycle is that two new events have been added related to when your app is in the background. Это события EnteredBackground и LeavingBackground. They are: EnteredBackground and LeavingBackground.

Они также отражают, может ли пользователь видеть интерфейс приложения. These events also reflect whether the user can see your app’s UI.

Выполнение в фоновом режиме — это состояние по умолчанию запущенного, активируемого или возобновляемого приложения. Running in the background is the default state that an application is launched, activated, or resumed into. В этом состоянии пользовательского интерфейс приложения еще не виден. In this state your application UI is not visible yet.

Выполнение на переднем плане Running in the foreground

Пользовательский интерфейс приложения, которое выполняется на переднем плане, виден. Running in the foreground means that your app’s UI is visible.

Событие LeavingBackground срабатывает непосредственно перед отображением пользовательского интерфейса и перед тем, как приложение переходит в состояние выполнения на переднем плане. The LeavingBackground event is fired just before your application UI is visible and before entering the running in foreground state. Оно также активируется, когда пользователь возвращается к приложению. It also fires when the user switches back to your app.

Ранее лучшим местом для загрузки ресурсов интерфейса были обработчики событий Activated и Resuming. Previously, the best location to load UI assets was in the Activated or Resuming event handlers. Теперь же обработчик события LeavingBackground — лучший способ проверить готовность вашего интерфейса. Now LeavingBackground is the best place to verify that your UI is ready.

Важно убедиться, что визуальные ресурсы готовы к этому моменту, поскольку это последняя возможность выполнить необходимые задачи, прежде чем пользователь увидит приложение. It is important to check that visual assets are ready by this time because this is the last opportunity to do work before your application is visible to the user. Все действия с пользовательским интерфейсом в этом обработчике событий нужно выполнить быстро, так как это влияет на время запуска и возобновления приложения. All UI work in this event handler should complete quickly, as it impacts the launch and resume time that the user experiences. Событие LeavingBackground дает время подготовить первый кадр интерфейса. LeavingBackground is the time to ensure the first frame of UI is ready. Затем длительные вызовы хранилища или сети должны обрабатываться асинхронно, чтобы обработчик событий мог снова активироваться. Then, long-running storage or network calls should be handled asynchronously so that the event handler may return.

Когда пользователь переключается на другую задачу, ваше приложение снова переходит в фоновое состояние. When the user switches away from your application, your app reenters the running in background state.

Повторный переход в фоновое состояние Reentering the background state

Событие EnteredBackground указывает, что приложение больше не отображается на переднем плане. The EnteredBackground event indicates that your app is no longer visible in the foreground. На настольном компьютере событие EnteredBackground срабатывает, когда приложение свертывается, на телефоне — при переключении на начальный экран или другое приложение. On the desktop EnteredBackground fires when your app is minimized; on phone, when switching to the home screen or another app.

Уменьшение объема памяти, которое потребляет приложение Reduce your app’s memory usage

Поскольку пользователь больше не видит потребление, рекомендуется именно здесь прекратить отрисовку пользовательского интерфейса и анимации. Since your app is no longer visible to the user, this is the best place to stop UI rendering work and animations. Чтобы возобновить эти задачи, можно использовать LeavingBackground. You can use LeavingBackground to start that work again.

Если вы планируете выполнять какие-то задачи в фоновом режиме, здесь можно к этому подготовиться. If you are going to do work in the background, this is the place to prepare for it. Лучше всего проверить свойство MemoryManager.AppMemoryUsageLevel и, если требуется, уменьшить объем памяти, который использует ваше приложение, работающее в фоновом режиме, чтобы система не закрыла его, чтобы освободить ресурсы. It is best to check MemoryManager.AppMemoryUsageLevel and, if needed, reduce the amount of memory being used by your app when it is running in the background so that your app doesn’t risk being terminated by the system to free up resources.

Сохранение состояния Save your state

Обработчик события приостановки является лучшим местом для сохранения состояния приложения. The suspending event handler is the best place to save your app state. Если вы выполняете какие-то задачи в фоновом режиме, такие как воспроизведение звука, с использованием расширенного сеанса выполнения или фоновую задачу, выполняемую внутри процесса, то лучше сохранить данные не синхронно с обработчиком событий EnteredBackground. However, if you are doing work in the background (for example, audio playback, using an extended execution session or in-proc background task), it is also a good practice to save your data asynchronously from your EnteredBackground event handler. Это связано с тем, что приложение может быть завершено, пока оно находится в фоновом режиме с более низким приоритетом. This is because it is possible for your app to be terminated while it is at a lower priority in the background. Поскольку в этом случае приложение не перейдет в приостановленное состояние, ваши данные будут потеряны. And because the app will not have gone through the suspended state in that case, your data will be lost.

Сохраните данные в обработчике событий EnteredBackground, прежде чем начнутся работы в фоновом режиме, чтобы повысить эффективность его возврата на передний план. Saving your data in your EnteredBackground event handler, before background activity begins, ensures a good user experience when the user brings your app back to the foreground. Вы можете использовать API данных приложения для сохранения параметров и данных. You can use the application data APIs to save data and settings. Подробнее: Хранение и извлечение параметров и прочих данных приложения. For more info, see Store and retrieve settings and other app data.

Если после сохранения данных вы превысили ограничение используемого объема памяти, вы сможете освободить память, так как данные можно снова загрузить позже. After you save your data, if you are over your memory usage limit, then you can release your data from memory since you can reload it later. При этом фоновым процессам станут доступны дополнительные ресурсы. That will free memory that can be used by the assets needed for background activity.

Помните, что если приложение выполняет фоновые задачи, оно может перейти из фонового состояния в состояние выполнения на переднем плане, минуя приостановленное состояние. Be aware that if your app has background activity in progress that it can move from the running in the background state to the running in the foreground state without ever reaching the suspended state.

Асинхронные работа и отсрочки Asynchronous work and Deferrals

Если вы используете асинхронный вызов в обработчике, контроль после его завершения возвращается немедленно. If you make an asynchronous call within your handler, control returns immediately from that asynchronous call. Это означает, что обработчик событий вернет управление приложению, которое сможет перейти в следующее состояние, даже если асинхронный вызов еще не завершен. That means that execution can then return from your event handler and your app will move to the next state even though the asynchronous call hasn’t completed yet. Используйте метод GetDeferral объекта EnteredBackgroundEventArgs, который передается обработчику события, чтобы задержать приостановку после вызова метода Complete возвращенного объекта Windows.Foundation.Deferral. Use the GetDeferral method on the EnteredBackgroundEventArgs object that is passed to your event handler to delay suspension until after you call the Complete method on the returned Windows.Foundation.Deferral object.

Отсрочка не увеличивает время, необходимое для выполнения кода перед завершением работы приложения. A deferral doesn’t increase the amount you have to run your code before your app is terminated. Она только откладывает завершение до вызова метода Complete отсрочки или наступления крайнего срока (в зависимости от того, происходит первым). It only delays termination until either the deferral’s Complete method is called, or the deadline passes-whichever comes first.

Если вам нужно больше времени для сохранения состояния, изучите способы его сохранения на стадиях, предшествующих переходу приложения в фоновый режим, чтобы в обработчике событий EnteredBackground нужно было сохранить меньше данных. If you need more time to save your state, investigate ways to save your state in stages before your app enters the background state so that there is less to save in your EnteredBackground event handler. Кроме того, вы можете запросить расширенный сеанс выполнения (ExtendedExecutionSession), чтобы получить больше времени. Or you may request an ExtendedExecutionSession to get more time. Нет гарантии, что запрос будет удовлетворен, поэтому лучше найти способ минимизировать время, необходимое для сохранения состояния. There is no guarantee that the request will be granted, however, so it is best to find ways to minimize the amount of time you need to save your state.

Приостановка приложения App suspend

Когда пользователь сворачивает приложение, Windows ждет несколько секунд, чтобы узнать, вернется ли пользователь к нему. When the user minimizes an app Windows waits a few seconds to see whether the user will switch back to it. Если это не происходит, не запрошен расширенный сеанс выполнения, фоновая задача или спонсируемое действием выполнение, Windows приостанавливает приложение. If they do not switch back within this time window, and no extended execution, background task, or activity sponsored execution is active, Windows suspends the app. Приложение также приостанавливается, когда появляется экран блокировки, если для приложения нет активного расширенного сеанса выполнения и т. д. An app is also suspended when the lock screen appears as long as no extended execution session, etc. is active in that app.

Если приложение приостановлено, оно вызывает событие Application.Suspending. When an app is suspended, it invokes the Application.Suspending event. Шаблоны проектов UWP Visual Studio предоставляют обработчик этого события, OnSuspending, в файле App.xaml.cs. Visual Studio’s UWP project templates provide a handler for this event called OnSuspending in App.xaml.cs. До Windows 10 версии 1607 код для сохранения состояния здесь размещался здесь. Prior to Windows 10, version 1607, you would put the code to save your state here. Теперь рекомендуется сохранять состояние при входе в фоновый режим, как описано выше. Now the recommendation is to save your state when you enter the background state, as described above.

Вам также нужно освободить монопольные ресурсы и дескрипторы файлов, чтобы другие приложения могли получать к ним доступ, пока приложение приостановлено. You should release exclusive resources and file handles so that other apps can access them while your app is suspended. К примерам монопольных ресурсов относятся камеры, устройства ввода-вывода, внешние устройства и сетевые ресурсы. Examples of exclusive resources include cameras, I/O devices, external devices, and network resources. Явное освобождение монопольных ресурсов и дескрипторов файлов обеспечивает доступ к ним других приложений на то время, пока приложение приостановлено. Explicitly releasing exclusive resources and file handles helps to ensure that other apps can access them while your app is suspended. После возобновления приложение должно вернуться к использованию тех же монопольных ресурсов и дескрипторов файлов. When the app is resumed, it should reacquire its exclusive resources and file handles.

Помните о крайнем сроке Be aware of the deadline

Чтобы устройство работало быстро, на время, необходимое для выполнения кода в обработчике события приостановки, наложено ограничение. In order to ensure a fast and responsive device, there is a limit for the amount of time you have to run your code in your suspending event handler. Для каждого устройства оно различное, и вы можете узнать его с помощью свойства Deadline объекта SuspendingOperation. It is different for each device, and you can find out what it is using a property of the SuspendingOperation object called the deadline.

Как и в случае с EnteredBackground, если используется асинхронный вызов из обработчика, управление немедленно возвращается после его завершения. As with the EnteredBackground event handler, if you make an asynchronous call from your handler, control returns immediately from that asynchronous call. Это означает, что обработчик событий вернет управление приложению, которое сможет перейти в приостановленное состояние, даже если асинхронный вызов еще не завершен. That means that execution can then return from your event handler and your app will move to the suspend state even though the asynchronous call hasn’t completed yet. Используйте метод GetDeferral объекта SuspendingOperation (доступного через аргументы события), чтобы отложить переход в приостановленное состояние до момента, когда будет вызван метод Complete возвращенного объекта SuspendingDeferral. Use the GetDeferral method on the SuspendingOperation object (available via the event args) to delay entering the suspended state until after you call the Complete method on the returned SuspendingDeferral object.

Если вам требуется дополнительное время, вы можете запросить расширенный сеанс выполнения (ExtendedExecutionSession). If you need more time, you may request an ExtendedExecutionSession. Однако нет гарантии, что запрос будет удовлетворен, поэтому лучше найти способ минимизировать время, необходимое для сохранения данных в обработчике события Suspended. There is no guarantee that the request will be granted, however, so it is best to find ways to minimize the amount of time you need in your Suspended event handler.

Завершение работы приложения App terminate

Когда приложение определяет, что оно было активировано после завершения работы, ему нужно загрузить сохраненные данные, чтобы перейти в состояние до завершения работы. When your app determines that it has been activated after being terminated, it should load the application data that it saved so that the app is in the same state it was in before it was terminated. Когда пользователь снова переключается на приостановленное приложение, работа которого была завершена, приложению необходимо восстановить свои данные в методе OnLaunched. When the user switches back to a suspended app that has been terminated, the app should restore its application data in its OnLaunched method. Система не уведомляет приложение о завершении его работы, поэтому в случае приостановки приложение должно сохранять свои данные и освобождать монопольные ресурсы и дескрипторы файлов, а затем восстанавливать их во время активации после завершения работы. The system doesn’t notify an app when it is terminated, so your app must save its application data and release exclusive resources and file handles before it is suspended, and restore them when the app is activated after termination.

Примечание об отладке с помощью Visual Studio: Visual Studio не позволяет Windows приостановить приложение, подключенное к отладчику. A note about debugging using Visual Studio: Visual Studio prevents Windows from suspending an app that is attached to the debugger. Это позволяет пользователю видеть пользовательский интерфейс отладчика Visual Studio во время выполнения приложения. This is to allow the user to view the Visual Studio debug UI while the app is running. При отладке программы с помощью Visual Studio вы можете отправить ей событие приостановки. When you’re debugging an app, you can send it a suspend event using Visual Studio. Убедитесь, что отображается панель инструментов Место отладки, а затем щелкните значок Приостановить. Make sure the Debug Location toolbar is being shown, then click the Suspend icon.

Возобновление работы приложения App resume

Работа приостановленного приложения возобновляется, когда пользователь переключается на него или если оно активно во время выхода устройства из состояния пониженного энергопотребления. A suspended app is resumed when the user switches to it or when it is the active app when the device comes out of a low power state.

Когда работа приложения возобновляется из приостановленного состояния, оно переходит состояние выполнения не переднем плане, а система восстанавливает работу приложения с места приостановки так, будто оно и не закрывалось. When an app is resumed from the Suspended state, it enters the Running in background state and the system restores the app where it left off so that it appears to the user as if it has been running all along. При этом данные приложения, которые сохранены в памяти, не будут потеряны. No app data stored in memory is lost. Поэтому большинству приложений не требуется восстанавливать состояние при возобновлении, хотя им необходимо повторно получить все дескрипторы файлов и устройств, которые они освободили после приостановки, и восстановить явное состояние, действующее на момент приостановки приложения. Therefore, most apps don’t need to restore state when they are resumed though they should reacquire any file or device handles that they released when they were suspended, and restore any state that was explicitly released when the app was suspended.

Приложение может быть приостановлено на несколько часов или дней. You app may be suspended for hours or days. Если ваше приложение работает с содержимым или сетевыми подключениями, которые могут устареть за это время, оно должно обновить их после возобновления работы. If your app has content or network connections that may have gone stale, these should be refreshed when the app resumes. Если приложение зарегистрировало обработчик события Application.Resuming, то он будет вызываться при возобновлении работы приложения после выхода из состояния Suspended. If an app registered an event handler for the Application.Resuming event, it is called when the app is resumed from the Suspended state. С помощью этого обработчика событий вы можете обновлять содержимое и данные приложения. You can refresh your app content and data in this event handler.

Если приостановленное приложение активировано для участия в контракте приложений или расширении, оно получает сначала событие Resuming, а затем — событие Activated. If a suspended app is activated to participate in an app contract or extension, it receives the Resuming event first, then the Activated event.

Если работа приостановленное приложения была завершена, событие Resuming не срабатывает, а вызывается метод OnLaunched(), при этом параметру ApplicationExecutionState присвоено значение Terminated. If the suspended app was terminated, there is no Resuming event and instead OnLaunched() is called with an ApplicationExecutionState of Terminated. Поскольку вы сохранили состояние во время приостановки приложения, вы можете восстановить его в методе OnLaunched (), чтобы приложение выглядело так же, как и до приостановки. Because you saved your state when the app was suspended, you can restore that state during OnLaunched() so that your app appears to the user as it was when they switched away from it.

Когда приложение приостановлено, оно не получает никаких сетевых событий, для получения которых зарегистрировано. While an app is suspended, it does not receive any network events that it registered to receive. Эти сетевые события не добавляются в очередь, а просто пропускаются. These network events are not queued—they are simply missed. Поэтому при возобновлении работы ваше приложение должно проверять состояние сети. Therefore, your app should test the network status when it is resumed.

Примечание. Так как событие Resuming не вызывается из потока пользовательского интерфейса, необходимо использовать диспетчер, если код в обработчике возобновления взаимодействует с пользовательским интерфейсом. Note Because the Resuming event is not raised from the UI thread, a dispatcher must be used if the code in your resume handler communicates with your UI. Пример кода см. в статье Обновление потока пользовательского интерфейса из фонового потока. See Update the UI thread from a background thread for a code example of how to do this.

Закрытие приложений App close

Обычно пользователям не нужно закрывать приложения. Они могут разрешить Windows управлять ими. Generally, users don’t need to close apps, they can let Windows manage them. Но пользователь может закрыть приложение с помощью соответствующего жеста, нажав клавиши ALT+F4 или воспользовавшись диспетчером задач в Windows Phone. However, users can choose to close an app using the close gesture or by pressing Alt+F4 or by using the task switcher on Windows Phone.

Не существует какого-либо особого события, указывающего на то, что пользователь закрыл приложение. There is not an event to indicate that the user closed the app. При закрытии приложения пользователем оно сначала приостанавливается, чтобы вы могли сохранить его состояние. When an app is closed by the user, it is first suspended to give you an opportunity to save its state. В Windows 8.1 и более поздних версиях, если пользователь закрыл приложение, оно просто удаляется с экрана и из списка переключения, но его работа не завершается явным образом. In Windows 8.1 and later, after an app has been closed by the user, the app is removed from the screen and switch list but not explicitly terminated.

Поведение при закрытии пользователем. Если требуется, чтобы приложение вело себя по-разному при закрытии пользователем и Windows, то для определения инициатора закрытия вы можете использовать обработчик событий активации. Closed-by-user behavior: If your app needs to do something different when it is closed by the user than when it is closed by Windows, you can use the activation event handler to determine whether the app was terminated by the user or by Windows. Описания состояний ClosedByUser и Terminated приведены в справочных документах по перечислению ApplicationExecutionState. See the descriptions of ClosedByUser and Terminated states in the reference for the ApplicationExecutionState enumeration.

Мы не рекомендуем закрывать приложение программными методами, если в этом нет серьезной необходимости. We recommend that apps not close themselves programmatically unless absolutely necessary. Например, если приложение обнаруживает утечку памяти, оно может закрыться самостоятельно, чтобы обеспечить защиту персональных данных пользователя. For example, if an app detects a memory leak, it can close itself to ensure the security of the user’s personal data.

Сбой приложения App crash

Взаимодействие при сбое системы организовано таким образом, чтобы пользователи могли вернуться к выполняемым действиям как можно скорее. The system crash experience is designed to get users back to what they were doing as quickly as possible. Вам не нужно показывать диалоговое окно с предупреждением или иное уведомление, поскольку это вызовет задержку в работе пользователя. You shouldn’t provide a warning dialog or other notification because that will delay the user.

Если приложение дает сбой, перестает отвечать или создает исключение, в Microsoft отправляется отчет о проблеме в соответствии с параметрами отзывов и диагностики пользователя. If your app crashes, stops responding, or generates an exception, a problem report is sent to Microsoft per the user’s feedback and diagnostics settings. Microsoft включает набор данных об ошибке в предоставляемый отчет о проблеме, что позволяет вам улучшить приложение. Microsoft provides a subset of the error data in the problem report to you so that you can use it to improve your app. Эти данные можно просмотреть на странице «Качество» вашего приложения, расположенной на информационной панели. You’ll be able to see this data in your app’s Quality page in your Dashboard.

Когда пользователь активирует приложение после сбоя, его обработчик событий активации получает параметр ApplicationExecutionState со значением NotRunning и должен просто отобразить его начальный пользовательский интерфейс и данные. When the user activates an app after it crashes, its activation event handler receives an ApplicationExecutionState value of NotRunning, and should display its initial UI and data. После сбоя не используйте данные приложения, которые вы бы использовали для события Resuming из состояния Suspended, поскольку эти данные могут быть повреждены; см. раздел Рекомендации по приостановке и возобновлению приложений. After a crash, don’t routinely use the app data you would have used for Resuming with Suspended because that data could be corrupt; see Guidelines for app suspend and resume.

Удаление приложений App removal

Когда пользователь удаляет приложение, вместе с ним удаляются все локальные данные этого приложения. When a user deletes your app, the app is removed, along with all its local data. При удалении приложения не затрагиваются данные пользователей, сохраненные в стандартных расположениях, таких как файлы в библиотеках «Документы» или «Изображения». Removing an app doesn’t affect the user’s data that was stored in common locations such as the Documents or Pictures libraries.

Жизненный цикл приложения и шаблоны проектов Visual Studio App lifecycle and the Visual Studio project templates

Базовый код, который соответствует жизненному циклу приложения, содержится в шаблонах проектов Visual Studio. The basic code that is relevant to the app lifecycle is provided in the Visual Studio project templates. Базовое приложение обрабатывает активацию запуска, предоставляет место для восстановления данных приложения и отображает основной пользовательский интерфейс еще до того как, вы добавите собственный код. The basic app handles launch activation, provides a place for you to restore your app data, and displays the primary UI even before you’ve added any of your own code. Дополнительные сведения см. в статье Шаблоны проектов на C#, VB и C++ для приложений. For more info, see C#, VB, and C++ project templates for apps.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *