14Sep

Como posso impedir que Apps sejam executados no Boot no sistema operacional Android?

É necessário manter sua lista de aplicativos de inicialização e execução magra e média no sistema operacional Android, e, em caso afirmativo, como você pode colocar os freios em um arranque pesado de aplicativos?

Today's Question &A sessão de resposta vem até nós, cortesia dos entusiastas do Android - uma subdivisão da Stack Exchange, um agrupamento comunitário de sites da Q & A.

O questionário

Android Enthusiast Scott Severance é curioso sobre domar sua rotina de inicialização do Android:

Quando o meu telefone é iniciado, existem várias aplicações / serviços que funcionam no fundo que eu prefiro não. E quando eu pressiono o botão Home ao usar um aplicativo, esse aplicativo geralmente vai ao fundo sem sair. Como posso impedir que essas aplicações sejam executadas?

Qual é a solução e está parando-os sempre o método mais eficiente?

O respondente

SuperUser Matthew Read oferece uma detalhada quebra 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:

First Things First

Você pode teralguns equívocos sobre o funcionamento do Android e o que realmente acontece quando um serviço está sendo executado ou um aplicativo está em segundo plano. Veja também: Preciso instalar um gerenciador de tarefas?

A maioria dos aplicativos( por exemplo, aqueles que você inicia manualmente) têm sua atividade atual colocada em segundo plano quando você muda para outro aplicativo ou a tela inicial. As atividades consomem alguma memória, para que você possa voltar ao aplicativo e pegar onde você parou. As atividades geralmente não são capazes de executar cálculos em segundo plano, portanto, nenhuma CPU ou bateria é usada para eles. Se a vida da bateria ou o desempenho da CPU são sua preocupação, você não precisa se preocupar com essas aplicações! Você também não precisa se preocupar com a memória;O Android irá matar automaticamente o aplicativo e libertar a memória se o sistema estiver em baixa.

Se o aplicativo em segundo plano estiver executando um serviço, essa pode ser uma história diferente. Os serviços bem planejados passam a maior parte do tempo dormindo, acordando o cheque ocasional( novas notificações de redes sociais, por exemplo).No entanto, serviços mal concebidos podem ser executados com mais frequência ou executar operações de sincronização que você não deseja, afetando a vida útil 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 você tiver certeza de que deseja que este aplicativo pare a todo custo, você pode tentar esses métodos.

Desinstalar

Quando um aplicativo faz algo que você não gosta, seja executado em segundo plano na inicialização ou qualquer outra coisa, sua primeira opção é desinstalá-lo. Problema resolvido! Você pode remover aplicativos do sistema se você tiver root, com facilidade com o Titanium Backup, mas tenha cuidado para remover somente o bloatware da empresa 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 melhores daemons que vêm com o Android são serviços que são executados em segundo plano sem motivo ou quando uma verificação de intervalo simples com o AlarmManager do Android seria suficiente. Precisamos matá-los 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 seu problema, eles podem corrigir o aplicativo e você pode continuar usando-o normalmente. Essa é uma vitória para todos os envolvidos.

Aplicações de matar manualmente

Primeiro, note que muitos aplicativos serão fechados completamente se você retornar para fora deles em vez de usar o botão Início.

Se você estiver usando Ice Cream Sandwich ou Jelly Bean, você pode entrar em Configurações, clicar em Aplicativos e desligar manualmente o aplicativo, tabulando até os aplicativos em execução. Alternativamente, você pode acessar o botão Aplicativos Recentes e deslize-os para fechá-los. Nas versões antigas do Android, pode haver um Gerenciador de Tarefas incorporado adicionado pelo fabricante para realizar o mesmo, ou você pode baixar um aplicativo de gerenciamento de tarefas para fazê-lo. Para serviços, veja Configurações - & gt;Aplicações - & gt;Serviços.

AVISO: O não usa matadores automáticos de tarefas! Os assassinos de tarefas automáticos correm em segundo plano( exatamente o que você não deseja) e mata aplicativos sempre que eles começam. Na maioria das vezes isso piora as coisas, porque os aplicativos geralmente consomem mais recursos quando estão começando em comparação com quando estão sentados ociosos. Os serviços que são executados automaticamente e são reiniciados pelo sistema serão mortos uma e outra vez, 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 mortos sempre que começarem a receber um evento. Nada de bom pode vir disso.

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

Crie um novo Evento. Adicione a condição chamada Aplicação ativa e escolha o aplicativo de status parado ou no fundo. Escolha o aplicativo em que deseja focar. Em seguida, adicione uma ação. Selecione Kill Application( privilégios de root), depois selecione seu aplicativo novamente.

Agora, sempre que você deixar o aplicativo, Llama vai matá-lo.

Editando Autostarts e Intents

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

Outras opções:

  • Autorun Manager
  • Gemini App Manager

( Autostarts é software livre / de código aberto, também disponível no f-droid.)

AVISO: Isso pode fazer com que aplicativos parem de funcionar ou inibem a funcionalidade desejada .Proceda com cautela, especialmente com aplicativos críticos do sistema.

Aplicativos de congelamento

Você pode usar um aplicativo como Titanium Backup ou App Quarantine para completar congelar aplicativos para que eles não possam ser executados. Se você quiser usá-los, é necessário descompactá-los primeiro.

AVISO: Faça e não faça isso com aplicativos críticos do sistema! Seu dispositivo pode não inicializar.

Coloque aplicativos na Hibernação

Greenify( requer o Android 4.0+ e o privilégio ROOT) use uma abordagem diferente chamada "Hibernação", do "Freezing" tradicional.

Você pode hibernar com segurança qualquer aplicativo que não seja do sistema que você não deseja seguir furtivamente( por meio de serviços persistentes, receptores de transmissão, alarmes, etc.), efetivamente equivalente ao "congelamento", enquanto mantém todas as suas entradas( ícone de inicialização, compartilhamento de alvo, etc.) totalmente funcional quando você executá-lo explicitamente, sem a necessidade de congelá-lo primeiro.

AVISO: não hibernam aplicativos de despertador, aplicativos de mensagens instantâneas e outros aplicativos cuja funcionalidade básica depende do mecanismo de fundo( temporizador, eventos do sistema, "empurrar", etc.) para funcionar.

O Bottom Line

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, recomendamos que você vá para a solução mais simples - desinstalando. 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 gerenciamento de serviços, mas, até então, tenha cuidado.

Tem alguma coisa a adicionar à explicação? Som na parte dos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.