Como o Android gerencia processos

robô andróide

O Windows permite que os aplicativos da área de trabalho continuem em execução, estejam eles visíveis ou não, enquanto o iOS da Apple apenas permite que os aplicativos executem algumas tarefas limitadas em segundo plano. O Android fica em algum ponto intermediário – os aplicativos executados em primeiro plano são priorizados, mas os aplicativos têm muito mais liberdade para serem executados em segundo plano do que no iOS.

Veremos exatamente como o Android está gerenciando os aplicativos e processos em execução no seu telefone ou tablet, desmistificando o que está acontecendo em segundo plano.

A hierarquia do ciclo de vida do processo

Um processo no Android pode estar em um dos cinco estados diferentes a qualquer momento, do mais importante ao menos importante:

  • 1. Processo de primeiro plano : O aplicativo que você está usando é considerado o processo de primeiro plano. Outros processos também podem ser considerados processos em primeiro plano – por exemplo, se estiverem interagindo com o processo que está atualmente em primeiro plano. Existem apenas alguns processos em primeiro plano em um determinado momento.
  • 2. Processo visível : um processo visível não está em primeiro plano, mas ainda afeta o que você vê na tela. Por exemplo, o processo em primeiro plano pode ser uma caixa de diálogo que permite ver um aplicativo por trás dele – o aplicativo visível em segundo plano seria um processo visível.
  • 3. Processo de serviço : um processo de serviço não está vinculado a nenhum aplicativo que esteja visível na tela. No entanto, ele está fazendo algo em segundo plano, como reproduzir música ou baixar dados em segundo plano. Por exemplo, se você começar a reproduzir uma música e mudar para outro aplicativo, a reprodução da música em segundo plano está sendo tratada por um processo de serviço.
  • 4. Processo em segundo plano : Os processos em segundo plano não estão visíveis para o usuário. Eles não têm impacto na experiência de uso do telefone. A qualquer momento, muitos processos em segundo plano estão em execução. Você pode pensar nesses processos em segundo plano como aplicativos “pausados”. Eles são mantidos na memória para que você possa retomar o uso rapidamente quando voltar a eles, mas eles não estão usando o valioso tempo de CPU ou outros recursos que não são da memória.
  • 5. Processo vazio : um processo vazio não contém mais dados do aplicativo. Ele pode ser mantido para fins de cache para acelerar a inicialização do aplicativo posteriormente ou o sistema pode eliminá-lo conforme necessário.
Recomendado:  Por que você precisa de um novo roteador, mesmo com uma conexão lenta à Internet

Por exemplo, digamos que você ligue o telefone e abra um aplicativo de música. Enquanto você o usa, o aplicativo de música será um processo em primeiro plano. Quando você começa a reproduzir a música e sai do aplicativo de música, a música continua tocando como um processo de serviço.

android-music-playing-in-background

Vejamos o Angry Birds como outro exemplo. O Angry Birds seria um processo em primeiro plano enquanto você o estava jogando. Quando você sai do Angry Birds e entra no aplicativo do Gmail para visualizar seu e-mail, o Angry Birds se torna um processo em segundo plano (porque não precisa fazer nada em segundo plano), enquanto o Gmail se torna o processo em primeiro plano. Quando você voltar para o Angry Birds, ele se tornará seu processo de primeiro plano e o jogo será retomado rapidamente. O Angry Birds não estava usando recursos em segundo plano – além de um pouco de RAM – mas é retomado rapidamente porque permaneceu em cache e pronto para retomar.

Android gerencia processos automaticamente

O Android faz um bom trabalho no gerenciamento automático desses processos, e é por isso que você não precisa de um assassino de tarefas no Android .

Quando o Android precisar de mais recursos do sistema, ele começará a eliminar os processos menos importantes primeiro. O Android começará a eliminar processos vazios e em segundo plano para liberar memória se você estiver com pouca memória. Se você precisar de mais memória – por exemplo, se você estiver jogando um jogo particularmente exigente em um dispositivo sem muita memória RAM, o Android começará a interromper os processos de serviço, de modo que o streaming de música e downloads de arquivos podem parar.

Na maioria dos casos, o Android faz tudo isso sem que você precise se preocupar com isso. O Android usa de forma inteligente a RAM do seu dispositivo para aplicativos de cache e outros dados, porque não faz sentido deixar a RAM vazia .

Recomendado:  Como desativar o pop-up "Abrir no aplicativo" do Reddit

Obviamente, o Android fornece aos aplicativos tanta flexibilidade que eles têm espaço para se comportar mal. Por exemplo, um aplicativo mal codificado pode iniciar um processo de serviço que permanece em execução em segundo plano o tempo todo, usando todo o tempo da CPU e diminuindo drasticamente a vida útil da bateria.

Uma coisa interessante que você notará em aplicativos antivírus como o Avast! para Android é que o aplicativo antivírus usa um ícone de notificação. se você tentar desativar o ícone de notificação, o Avast! irá recomendar contra isso. Por ter um ícone de notificação visível, o Avast! torna-se um aplicativo de maior prioridade, evitando que o Android o considere um aplicativo de segundo plano e o mate.

avast-notification-icon

Aplicativos Android podem começar em resposta a eventos

Os aplicativos Android também podem iniciar em resposta a eventos. Por exemplo, um desenvolvedor pode programar seu aplicativo para ser executado automaticamente na inicialização e executar um serviço em segundo plano. Os aplicativos podem ser iniciados em resposta a uma variedade de outros eventos, como quando você tira uma foto, quando sua conexão de dados muda e assim por diante. Isso permite que os aplicativos executem ações em resposta a eventos sem executar constantemente em segundo plano.

android-run-at-startup-permissions

Gerenciando Processos

Você não deve precisar gerenciar processos manualmente, mas existem algumas maneiras de fazer isso, se desejar. Você pode usar o menu multitarefa no Android 4.0 e posterior para fazer algum gerenciamento de processo básico. Para acessá-lo, toque no botão multitarefa dedicado em dispositivos Nexus . Em outros dispositivos Android, pode ser necessário tocar duas vezes ou manter pressionado o botão Início.

Os aplicativos exibidos no menu provavelmente estão no estado de “processo em segundo plano”. Você pode matá-los deslizando um aplicativo para a esquerda ou direita, o que o removerá da memória do seu dispositivo. Isso não deve ser necessário, mas pode ajudar quando você deseja encerrar rapidamente um aplicativo – talvez ele esteja se comportando mal.

Recomendado:  Como funcionam as classificações de resistência à água para gadgets

Swipe-away-app-on-android

Você também pode ir para a tela Configurações, tocar em Aplicativos, tocar em um aplicativo e usar o botão Forçar parada para encerrar um aplicativo com comportamento inadequado.

force-stop-on-android


O Android é baseado no Linux e cada aplicativo no Android é atribuído a um ID de usuário Linux diferente – ou conta de usuário. Isso isola os aplicativos uns dos outros. Se você fizer o root em seu dispositivo, os aplicativos podem escapar de suas caixas de proteção de usuário e ser executados com privilégios de root .

Crédito da imagem: JD Hancock no Flickr