Что происходит с приложениями Modern-UI, когда они не на переднем плане?
Если я запускаю приложение Modern-UI, а затем переключаюсь на другое приложение или обычную программу, работающую на рабочем столе, что произойдет с первым приложением? Я что- то слышал о приостановке работы первого приложения, но понял, что точно не знаю этого.
Я имею в виду, можете ли вы написать приложение SETI @ Home ( BOINC), если хотите, или приложения, которые не находятся на переднем плане, всегда будут приостановлены? Вы можете изменить это? Я мог видеть, как это меняется в зависимости от доступных ресурсов, от сети переменного тока от батареи и т. Д.
Этим утром я услышал о восстановлении iPad благодаря приложению "Найди мой iPad" и подумал, можно ли написать такую вещь, как приложение Modern-UI, и заставить его работать, не будучи запущенным приложением переднего плана. (Я знаю, что вы просто напишите службу Windows или аналогичную, я не об этом.)
1 ответ
Если я запускаю приложение Modern-UI, а затем переключаюсь на другое приложение или обычную программу, работающую на рабочем столе, что произойдет с первым приложением?
Приложение переходит в состояние ожидания - вы можете проверить его ресурсы в диспетчере задач.
Приложения будут приостановлены, когда вы их не используете, это для производительности. При приостановке вы не почувствуете "зависание" вашей системы (т.е. замедления, связанные с запуском интенсивного приложения в фоновом режиме).
Windows 8 предназначена для того, чтобы иметь в виду, что когда какое-либо фоновое приложение не активно, оно не должно загружать процессор, поэтому ваша система хорошо работает в активном приложении.
Любое приложение в стиле Metro в любой момент времени находится в одном из 4 состояний жизненного цикла:
- Не бегать
- Бег
- подвешенный
- Отменено
Когда приложение переходит между состояниями, оно получает события жизненного цикла, которые помогают обеспечить согласованное и высокопроизводительное взаимодействие с пользователем.
Есть несколько блогов MSDN, которые могут помочь вам реализовать то, что вы хотите.
Управление жизненным циклом приложения, чтобы ваши приложения чувствовали себя "всегда живыми"