Como posso parar os aplicativos de execução na inicialização no sistema operacional Android?
É necessário manter a sua lista de inicialização e execução de aplicativos enxutos e significar no sistema operacional Android e, em caso afirmativo, como você pode colocar os freios em uma inicialização pesada do aplicativo?
A sessão de perguntas e respostas de hoje é oferecida aos entusiastas do Android - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
O leitor da Android Enthusiast, Scott Severance, está curioso em domesticar sua rotina de inicialização no Android:
Quando meu telefone é iniciado, há vários aplicativos / serviços em execução em segundo plano que eu prefiro não. E quando pressiono o botão Início enquanto uso um aplicativo, esse aplicativo geralmente entra em segundo plano sem sair. Como posso impedir que esses aplicativos sejam executados??
Qual é a solução e está impedindo-os sempre o método mais eficiente?
A resposta
O colaborador do SuperUser, Matthew Read, oferece uma análise detalhada de por que isso pode não importar tanto quanto Scott acredita, e como o Android difere fundamentalmente de outros sistemas operacionais em relação a aplicativos de inicialização e processos em segundo plano:
Primeiras coisas primeiro
Você pode ter alguns equívocos sobre como o Android funciona e o que realmente está acontecendo quando um serviço está em execução ou quando um aplicativo está em segundo plano. Veja também: Eu realmente preciso instalar um gerenciador de tarefas?
A maioria dos aplicativos (por exemplo, aqueles que você inicializa manualmente) tem sua Atividade atual colocada em segundo plano quando você alterna para outro aplicativo ou para 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 duração da bateria ou o desempenho da CPU é sua preocupação, você não precisa se preocupar com esses aplicativos! Você não precisa se preocupar com a memória também; O Android irá matar automaticamente o aplicativo e liberar 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 planejados passam a maior parte do tempo dormindo, acordando para o cheque ocasional (novas notificações de mídia social, por exemplo). No entanto, os 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 duração da bateria e o uso de dados. Se você tem um serviço desonesto, você pode tentar uma das soluções abaixo.
Soluções
Se tiver certeza de que deseja fazer este aplicativo parar a todo custo, você pode tentar esses métodos.
Desinstalar
Quando um aplicativo faz algo que você não gosta, esteja 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 raiz, mais facilmente com o Titanium Backup, mas tenha cuidado para remover apenas o bloatware da operadora e não os aplicativos críticos do sistema.
No entanto, se você quiser usar esse aplicativo, isso não é uma opção: continue lendo.
Ping o desenvolvedor
Alguns dos maiores daemons que acompanham o Android são serviços executados em segundo plano sem nenhum motivo ou quando uma simples verificação de intervalo com o AlarmManager do Android seria suficiente. Precisamos matá-los todos com fogo e não ignorá-los. Tudo o que não envolve uma correção pelo desenvolvedor é apenas um hack que resultará em outros efeitos colaterais negativos. Se você entrar em contato com o desenvolvedor com o seu problema, ele poderá consertar o aplicativo e você poderá usá-lo normalmente. Isso é uma vitória para todos os envolvidos.
Matando aplicativos manualmente
Primeiro, observe que muitos aplicativos serão fechados completamente se você fizer o Back out deles em vez de usar o botão Início.
Se você estiver executando o Ice Cream Sandwich ou o Jelly Bean, vá para Configurações, clique em Aplicativos e encerre manualmente o aplicativo, navegando até os aplicativos em execução. Alternativamente, você pode apertar o botão Recent Applications e deslize-os para fora da tela para fechá-los. Em versões mais antigas do Android, pode haver um gerenciador de tarefas integrado adicionado pelo fabricante para realizar a mesma coisa, ou você pode baixar um aplicativo gerenciador de tarefas para fazer isso. Para serviços, veja
Configurações -> Aplicativos -> Serviços
.AVISO: Faz não use assassinos de tarefa automáticos! Assassinos de tarefas automáticas são executados em segundo plano (exatamente o que você não deseja) e executam os aplicativos sempre que eles são iniciados. Na maioria das vezes, isso piora as coisas, pois os aplicativos geralmente consomem mais recursos quando estão começando, em comparação a quando estão ociosos. Serviços executados automaticamente e reiniciados pelo sistema serão mortos 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) serão cancelados toda vez que forem iniciados para receber um evento. Nada de bom pode vir disso.
Uma possível exceção são as tarefas automáticas executadas somente quando você, o usuário, executa uma ação específica. Em essência, eles estão apenas tornando o gerenciamento de tarefas manual mais fácil para você. Um aplicativo como o Tasker ou o Llama pode ser usado para encerrar atividades quando você alterna aplicativos, por exemplo, garantindo que eles não permaneçam em segundo plano. Instruções para o Llama:
Crie um novo
Evento
. Adicione a condição chamadaApp ativo
, e escolha o statusApp parado ou em segundo plano
. Escolha o aplicativo que você deseja focar. Em seguida, adicione umAçao
. SelecioneKill Application (privilégios de root)
, em seguida, selecione seu aplicativo novamente.Agora, sempre que você sair do aplicativo, o Llama irá matá-lo.
Editando Autostarts e Intents
Como mencionado acima, alguns aplicativos podem iniciar quando recebem Intents (eventos do sistema). Ao usar um aplicativo como "Permissões negadas", você pode alterar as permissões que os aplicativos podem solicitar, o que, por sua vez, limita os eventos que eles podem receber. Ou você pode usar um aplicativo como o Autostarts para editar especificamente quais os Intents que serão enviados para quais apps. Para ambas as soluções, você precisará de acesso root.
Outras opções:
- Gerente Autorun
- Gemini App Manager
(Autostarts é software livre / de código aberto, também disponível no f-droid.)
AVISO: Isso pode fazer com que os aplicativos parem de funcionar ou inibam procurado funcionalidade. Prossiga com cuidado, especialmente com aplicativos críticos do sistema.
Aplicativos congelados
Você pode usar um aplicativo como o Titanium Backup ou o App Quarantine para concluir o congelamento de aplicativos para que eles não sejam executados. Se você quiser usá-los, você tem que congelá-los primeiro.
AVISO: Faz não Faça isso com aplicativos críticos do sistema! Seu dispositivo pode não conseguir inicializar.
Coloque os aplicativos na hibernação
O Greenify (requer o privilégio Android 4.0+ e ROOT) usa uma abordagem diferente chamada "Hibernação", do tradicional "Congelamento".
Você pode seguramente hibernar qualquer aplicativo que não seja do sistema que você não queira executar furtivamente (via serviços persistentes, receptores de broadcast, alarmes e assim por diante), efetivamente equivalente a “congelamento”, mantendo todas as suas entradas (ícone do lançador, alvo de compartilhamento, etc) totalmente funcional quando você executa explicitamente itm, sem a necessidade de descongelar primeiro.
AVISO: Faz não aplicativos de despertador hibernate, aplicativos de mensagens instantâneas e outros aplicativos cuja funcionalidade básica depende do mecanismo de fundo (timer, eventos do sistema, "push", etc) para funcionar.
The Bottom Line
O Android foi projetado para cuidar do gerenciamento de aplicativos para você. Em todos os casos, exceto os mais extremos, você não precisa se preocupar com isso. Quando há um problema, aconselhamos você a optar pela solução mais simples - a desinstalação. 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.
Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.