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.)
fonte
Respostas:
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:
À 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.
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
fonte
BackgroundDownloader
que 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.