Como posso interromper a execução de aplicativos e serviços?


65

Quando meu telefone inicia, existem vários aplicativos / serviços em execução em segundo plano que eu preferiria não. E quando pressiono o botão Início enquanto uso um aplicativo, ele geralmente entra em segundo plano sem sair. Como posso parar a execução desses aplicativos?


Este é um Wiki da comunidade; todos ficam à vontade para adicionar e corrigir informações na resposta. :)
Matthew Leia

Respostas:


65

Primeiras coisas primeiro

Você pode ter alguns conceitos errados sobre como o Android funciona e o que realmente está acontecendo quando um serviço está sendo executado ou um aplicativo está em segundo plano. Veja também: Eu realmente preciso instalar um gerenciador de tarefas?

A maioria dos aplicativos (por exemplo, aqueles iniciados manualmente) tem a Atividade atual em segundo plano quando você alterna para outro aplicativo ou a tela inicial. As atividades consomem alguma memória, para que você possa voltar ao aplicativo e continuar de onde parou. As atividades geralmente não são capazes de executar cálculos em segundo plano, portanto, nenhuma CPU ou bateria é usada para elas. Se a sua vida útil da bateria ou o desempenho da CPU é sua preocupação, você não precisa se preocupar com esses aplicativos! Você também não precisa se preocupar com memória; O Android mata automaticamente o aplicativo e libera a memória se o sistema estiver com pouca carga.

Se o aplicativo em segundo plano estiver executando um serviço, isso pode ser uma história diferente. Serviços bem projetados passam a maior parte do tempo dormindo, acordando para verificações ocasionais (novas notificações de mídia social, por exemplo). No entanto, serviços mal projetados podem ser executados com mais frequência ou executar operações de sincronização que você não deseja, afetando a vida da bateria e o uso de dados. Se você possui um serviço não autorizado, tente uma das soluções abaixo.

Soluções

Se você tem certeza de que deseja que este aplicativo seja interrompido a todo custo, tente estes métodos.

Desinstalar

Quando um aplicativo faz algo que você não gosta, seja executando em segundo plano na inicialização ou outra coisa, sua primeira opção é desinstalá-lo. Problema resolvido! Você pode remover aplicativos do sistema se tiver root, mais facilmente com o Titanium Backup , mas tenha cuidado para remover apenas bloatware da operadora e não aplicativos críticos do sistema.

No entanto, se você quiser usar esse aplicativo, isso não é uma opção: continue lendo.

Faça ping no desenvolvedor

Alguns dos maiores daemons que acompanham o Android são serviços executados em segundo plano sem motivo ou quando uma simples verificação de intervalo com o AlarmManager do Android seria suficiente. Precisamos matar todos eles com fogo, e não ignorando-os. Tudo o que não envolve uma correção pelo desenvolvedor é apenas um truque que resultará em outros efeitos colaterais negativos. Se você entrar em contato com o desenvolvedor com o seu problema, ele poderá corrigir o aplicativo e você poderá continuar usando-o normalmente. Isso é uma vitória para todos os envolvidos.

Matar aplicativos manualmente

Primeiro, observe que muitos aplicativos fecharão completamente se você sair deles em vez de usar o botão Início.

Se você estiver executando o Ice Cream Sandwich ou o Jelly Bean, poderá acessar Configurações, clicar em Aplicativos e desligar o aplicativo manualmente, guiando os aplicativos em execução. Como alternativa, você pode pressionar o botão Aplicativos Recentes e deslizar para fora da tela para fechá-los. Nas versões mais antigas do Android, pode haver um Gerenciador de Tarefas incorporado adicionado pelo fabricante para realizar a mesma coisa, ou você pode baixar um aplicativo gerenciador de tarefas para fazer isso. Para serviços, veja Settings -> Applications -> Services.

AVISO: Você não usar assassinos tarefa automática! Os assassinos automáticos de tarefas são executados em segundo plano (exatamente o que você não deseja) e matam os aplicativos sempre que iniciam. Na maioria das vezes, isso piora as coisas, porque os aplicativos geralmente consomem mais recursos quando iniciam do que quando estão ociosos. Os serviços executados automaticamente e reiniciados pelo sistema serão interrompidos repetidamente, desperdiçando sua bateria. Da mesma forma, os aplicativos que recebem eventos do sistema conhecidos como Intents (como cobertura de rede e alterações de conectividade) são eliminados toda vez que iniciam o recebimento de um evento. Nada de bom pode vir disso.

Uma possível exceção são as tarefas automáticas que são executadas apenas quando você, usuário, executa uma ação específica. Em essência, eles estão apenas facilitando o gerenciamento de tarefas manuais para você. Um aplicativo como Tasker ou Llama pode ser usado para encerrar atividades quando você alterna entre aplicativos, por exemplo, garantindo que eles não fiquem em segundo plano. Instruções para Llama:

Crie um novo Event. Adicione a condição chamada Active Appe escolha o status App stopped or in background. Escolha o aplicativo que você deseja focar. Em seguida, adicione um Action. Selecione Kill Application (root privileges)e selecione seu aplicativo novamente.

Agora, sempre que você sair do aplicativo, o Llama o matará.

Edição de arranques automáticos e intenções

Como mencionado acima, alguns aplicativos podem iniciar quando recebem Intents (eventos do sistema). Ao usar um aplicativo como Permissões Negadas, você pode alterar quais permissões os aplicativos podem solicitar, o que limita os eventos que eles podem receber. Ou você pode usar um aplicativo como o Autostarts (aplicativo pago) para editar especificamente quais Intents serão enviadas para quais aplicativos. Para ambas as soluções, você precisará de acesso root.

Outras opções:

(O código-fonte da Autostarts também está disponível aqui: https://github.com/miracle2k/android-autostarts )

AVISO: Isso pode fazer com que os aplicativos parem de funcionar ou inibam a funcionalidade desejada . Prossiga com cuidado, especialmente com aplicativos críticos do sistema.

Aplicativos de congelamento

Você pode usar um aplicativo como Titanium Backup ou App Quarantine para concluir o congelamento de aplicativos, para que eles não possam ser executados. Se você quiser usá-los, primeiro descongele-os.

AVISO: Você não fazer isso com aplicativos críticos do sistema! Seu dispositivo pode falhar ao inicializar.

Colocar aplicativos em hibernação

O Greenify (requer privilégio Android 4.0 ou superior e ROOT) usa uma abordagem diferente chamada "Hibernação", da tradicional "Congelamento".

Você pode hibernar com segurança qualquer aplicativo que não seja do sistema e não desejar que ele seja executado furtivamente (via serviços persistentes, receptores de transmissão, alarmes e assim por diante), efetivamente equivalente a "congelamento", mantendo todas as entradas (ícone do iniciador, destino de compartilhamento , etc) e totalmente funcional quando você o executa explicitamente, sem a necessidade de descongelá-lo primeiro.

AVISO: Você não hibernatize aplicativos despertador, aplicativos de mensagens instantâneas e outros aplicativos cuja funcionalidade básica conta com mecanismo de fundo (temporizador, os eventos do sistema, "push", etc) para o trabalho.

A linha inferior

O Android foi projetado para cuidar do gerenciamento de aplicativos para você. Em todos os casos, exceto nos casos mais extremos, você não precisa se preocupar com isso. Quando houver um problema, recomendamos que você escolha a solução mais simples - desinstalar. Todas as outras soluções são hacks em torno do que o Android foi projetado para fazer. Talvez um dia o Android tenha suporte oficial para gerenciar serviços, mas, até então, tenha cuidado.


+1. Resposta esplêndida! Mas o que significam "maiores daemons"? E o que significa "matar aplicativos sempre que eles começam" significa? (Se você matar todos os aplicativos sempre que for iniciado, eu pensaria que seria impossível iniciar e usar qualquer aplicativo.) Seria bom se você pudesse me enviar um ping com uma resposta de comentário que esclareça. :)
inesquecível

@unforgettableid "maiores daemons" é uma brincadeira com "maiores demônios" e "daemons" (serviços). "Matar aplicativos" não significa "matar todos os aplicativos".
Matthew Leia

2
"As atividades geralmente não são capazes de executar cálculos em segundo plano, portanto, nenhuma CPU ou bateria é usada para elas." - isso simplesmente não é verdade. Não há nada que impeça uma atividade de iniciar threads e deixá-los em execução quando sai do primeiro plano. Talvez você quisesse dizer " atividades bem-comportadas normalmente ...". Bem, tudo bem, mas a preocupação para a maioria das pessoas é aquela que não é bem-comportada.
Jeffrey Blattman 28/10/2015

@JeffreyBlattman Você está certo, sinta-se à vontade para editar isso, pois é uma resposta do Wiki da Comunidade.
Mateus Leia
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.