Eu tenho um Droid 2. Eu tenho um jogo longo e com muitos recursos (almas espectrais) que gostaria de deixar em execução enquanto não estiver usando meu telefone. Se eu pressionar o botão "Página inicial" do Android para voltar à tela inicial e reiniciar imediatamente o jogo, será exatamente onde eu parei. O mesmo se eu pressionar o botão liga / desliga para dormir e ligar imediatamente o telefone, desbloquear e reiniciar o jogo.
Se eu deixar por algum tempo (algumas horas), quando eu voltar e iniciar o jogo, ele começará como se nunca estivesse em execução. Enquanto isso, o telefone não foi usado para nada, embora a sincronização esteja ativada.
Minha pergunta é dupla: como posso obter mais informações sobre quais aplicativos são mortos quando e por que e como posso configurá-lo para permitir que esse aplicativo continue em execução? Não preciso fazer nada em segundo plano, só quero que ainda esteja lá quando voltar.
Estou familiarizado com o conceito de limpar a memória do Android, pois é necessário e não precisa de um assassino de tarefas, mas quero que ele não mate ESTA tarefa, a menos que realmente saia dela.
fonte
Respostas:
Tenho certeza de que não é uma opção no design padrão do Android. Eu nunca vi pessoalmente um aplicativo para essas coisas, porque a maioria das pessoas deseja que os programas sejam desligados para manter a velocidade do telefone. É o sistema Android que está desativando os programas não utilizados. O criador do aplicativo teria que projetar um serviço para mantê-lo em execução em segundo plano ou possível, como sempre em cálculo ou áudio, para que o sistema pense que o programa está fazendo algo. Isso consumiria sua bateria.
fonte
Sugestão: use o Tasker para desativar o tempo limite da tela para seu aplicativo. Isso pode impedir que ele vá para o fundo.
fonte
Para a primeira parte da sua pergunta;
O SDK do Android possui um resumo rápido na memória do Android: http://developer.android.com/guide/topics/fundamentals.html
Tão eficazmente o Android pode ser resumido como matando programas quando determina que você não está usando (cliquei em sair do aplicativo) ou quando fica sem recursos. Por exemplo, se você tiver 512 MB de RAM e 10 grátis e iniciar um aplicativo que precise de 12, ele tentará determinar o aplicativo menos usado do qual ele pode obter 12.
Tende a fazer isso muito bem (pelo menos na minha experiência). Você pode voltar para casa do seu jogo e fazer algumas coisas, mas na terceira coisa, o jogo será despejado. Lembre-se de como os jogos são intensivos em recursos, por isso é provável que ele mate esse aplicativo mais cedo ou mais tarde.
Agora, o motivo pelo qual desaparece com o tempo é que você provavelmente tem processos de sincronização tentando iniciar e competir por recursos. As páginas de memória dos aplicativos foram acessadas com pouca frequência neste momento, por isso é um bom jogo para qualquer recuperação de memória que o sistema operacional julgue necessária.
Para sua segunda pergunta;
Eu não uso um assassino de tarefas, mas tenho certeza de que os bons (parece que o ATK é o líder https://market.android.com/details?id=com.rechild.advancedtaskkiller&feature=search_result ) têm uma exceção Lista. Pode ser possível colocar na lista branca o jogo que você deseja e colocar na lista negra os outros processos.
Também não estou familiarizado com este jogo, por isso não tenho certeza de quais habilidades de salvamento automático e essas possuem. Espero ter ajudado.
fonte
Como obter mais informações sobre quais aplicativos foram mortos e por quê?
Você pode conectar seu telefone ao adb ; e, em seguida, ative o logcat ; salvando a saída no arquivo.
No arquivo de log, você terá toneladas de informações; pesquisando o nome do seu aplicativo; você pode descobrir quando é morto.
O que você pode fazer para impedir que ele seja interrompido pelo sistema Android?
Eu não sei; espero que a resposta correta funcione.
Contudo; Eu entraria em contato com o desenvolvedor e contaria o problema, pois ele deveria ter o tempo mais fácil para corrigi-lo
fonte