Что происходит с приложениями Modern-UI, когда они не на переднем плане?

19

Если я запускаю приложение Modern-UI, а затем переключаюсь на другое приложение или обычную программу, работающую на рабочем столе, что произойдет с первым приложением? Я что- то слышал о приостановке работы первого приложения, но понял, что точно не знаю этого.

Я имею в виду, можете ли вы написать приложение SETI @ Home ( BOINC ), если хотите, или приложения, которые не находятся на переднем плане, всегда будут приостановлены? Вы можете изменить это? Я мог видеть, как это меняется в зависимости от доступных ресурсов, от сети переменного тока от батареи и т. Д.

Этим утром я услышал о восстановлении iPad благодаря приложению «Найди мой iPad» и подумал, можно ли написать такую ​​вещь, как приложение Modern-UI, и заставить его работать, не будучи запущенным приложением переднего плана. (Я знаю, что вы просто напишите службу Windows или аналогичную, я не об этом.)

Марк Аллен
источник
1
Сравнение с приложением Find-my-iOS-device не имеет значения; поскольку поставщик iOS (apple) может разрешить приложениям iOS все, что захочет. Я собираюсь убрать это из вопроса, чтобы избежать путаницы. Что еще кто-то думает?
Клюка
@klyonrad Это было важно для меня, так как это единственная причина, по которой я задал этот вопрос, и дает пример того, почему кому-то это может быть важно. Я бы предпочел, чтобы вы оставили вопрос в покое.
Марк Аллен

Ответы:

23

Если я запускаю приложение Modern-UI, а затем переключаюсь на другое приложение или обычную программу, работающую на рабочем столе, что произойдет с первым приложением?

Приложение переходит в состояние ожидания - вы можете проверить его ресурсы в диспетчере задач.

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

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

Любое приложение в стиле Metro в любой момент времени находится в одном из 4 состояний жизненного цикла:

  • Не бегать
  • Бег
  • подвешенный
  • Отменено

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

введите описание изображения здесь

Есть несколько блогов MSDN, которые могут помочь вам реализовать то, что вы хотите.

Управление жизненным циклом приложения, чтобы ваши приложения чувствовали себя «всегда живыми»

Быть продуктивным, когда ваше приложение за кадром

Быть продуктивным на заднем плане - фоновые задачи

avirk
источник
1
Почему downvote? Пожалуйста, не забудьте прокомментировать, чтобы я мог улучшить пост.
Avirk
Это отвечает на мой вопрос, спасибо! (и я тоже проголосовал за него, не знаю ни о каком отрицательном голосовании.)
Марк Аллен
3
@thetechfreak они продолжат загрузку без приостановки, Windows использует, BackgroundDownloaderкоторая не будет останавливать загрузку, когда ваше приложение не на переднем плане. Также вы можете скачать / загрузить без каких-либо перерывов, когда ваше приложение не на переднем плане.
avirk
1
Я особенно ценю ссылки - теперь я чувствую себя намного лучше в приложениях с современным пользовательским интерфейсом.
Марк Аллен
1
@HaydnWVN не волнуйся! Редактировать 500 постов будет золото. :)
avirk