O que acontece com os aplicativos da interface moderna quando eles não estão em primeiro plano?

19

Se eu iniciar um aplicativo de interface moderna e depois mudar para um aplicativo diferente ou um programa normal em execução na área de trabalho, o que acontece com o primeiro aplicativo? Ouvi algo sobre o primeiro aplicativo ser suspenso, mas percebi que realmente não sabia disso com certeza.

Quero dizer, você poderia escrever um aplicativo SETI @ Home ( BOINC ) se quisesse ou os aplicativos que não estão em primeiro plano sempre serão suspensos? Você pode mudar isso? Pude ver isso mudando com base nos recursos disponíveis, rodando de CA x bateria, etc.

Hoje de manhã, ouvi falar de um iPad sendo recuperado graças ao aplicativo "Find my iPad" e fiquei imaginando se você poderia escrever algo como um aplicativo de interface moderna e fazê-lo funcionar sem ser o aplicativo em primeiro plano em execução. (Estou ciente de que você acabou de escrever um serviço do Windows ou similar, não é disso que estou perguntando.)

Mark Allen
fonte
1
A comparação com o aplicativo Find-my-iOS-device é irrelevante; já que o fornecedor do iOS (apple) pode permitir seus aplicativos para iOS o que quiser. Estou pensando em removê-lo da pergunta para evitar confusão. O que alguém mais pensa?
Kluka
@klyonrad Foi relevante para mim, pois é a única razão pela qual eu fiz essa pergunta e fornece um exemplo de por que alguém pode se importar em primeiro lugar. Eu preferiria fortemente que você deixasse a pergunta em paz.
Mark Allen

Respostas:

23

Se eu iniciar um aplicativo de interface moderna e depois mudar para um aplicativo diferente ou um programa normal em execução na área de trabalho, o que acontece com o primeiro aplicativo?

O aplicativo entra em um estado suspenso - você pode verificar seus recursos no gerenciador de tarefas.

Os aplicativos serão suspensos quando você não os estiver usando, isto é para desempenho. Quando suspenso, você não sentirá o atraso do sistema (ou seja, lentidão atribuída à execução de um aplicativo intensivo em segundo plano).

O Windows 8 foi projetado para ter em mente que, quando um aplicativo em segundo plano não está ativo, ele não deve usar muita CPU, para que o sistema tenha um bom desempenho no aplicativo ativo.

Qualquer aplicativo estilo Metro está em um dos quatro estados do ciclo de vida a qualquer momento:

  • Não está em execução
  • Corrida
  • Suspenso
  • Terminado

À medida que o aplicativo faz a transição entre estados, ele recebe eventos do ciclo de vida que ajudam a fornecer uma experiência consistente e de alto desempenho ao usuário.

insira a descrição da imagem aqui

Existem alguns blogs do MSDN que podem ajudá-lo a implementar o que você deseja.

Gerenciando o ciclo de vida do aplicativo para que seus aplicativos se sintam "sempre vivos"

Ser produtivo quando seu aplicativo estiver fora da tela

Ser produtivo em segundo plano - tarefas em segundo plano

avirk
fonte
1
Por que voto negativo? Por favor, comente para comentar para que eu possa melhorar o post.
Avirk
Isso responde à minha pergunta, obrigado! (e eu até votou-lo também, não sei sobre qualquer voto para baixo.)
Mark Allen
3
@thetechfreak eles continuarão o download sem suspender, o Windows está usando um BackgroundDownloaderque não interromperá o download quando o aplicativo não estiver em primeiro plano. Além disso, você pode fazer o download / upload sem interrupção quando o aplicativo não estiver em primeiro plano.
Avirk
1
Agradeço especialmente os links - agora me sinto muito melhor com os aplicativos da interface do usuário moderna.
Mark Allen
1
@HaydnWVN não se preocupe! Editar 500 postagens será um ouro. :)
avirk