Como o Android gerencia os processos

Índice:

Como o Android gerencia os processos
Como o Android gerencia os processos

Vídeo: Como o Android gerencia os processos

Vídeo: Como o Android gerencia os processos
Vídeo: #Tend Tudo - Como Baixar Qualquer Vídeo da Internet -Simples e Fácil(2023) - YouTube 2024, Abril
Anonim
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 permite que os aplicativos executem apenas algumas tarefas limitadas em segundo plano. O Android fica em algum lugar no meio - 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.
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 permite que os aplicativos executem apenas algumas tarefas limitadas em segundo plano. O Android fica em algum lugar no meio - 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.

Vamos ver exatamente como o Android está gerenciando os aplicativos e processos em execução no seu smartphone 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 em primeiro plano: O aplicativo que você está usando é considerado o processo de primeiro plano. Outros processos também podem ser considerados processos de primeiro plano, por exemplo, se eles estiverem interagindo com o processo que está no primeiro plano. Existem apenas alguns processos em primeiro plano a qualquer momento.
  • 2. processo visível: Um processo visível não está em primeiro plano, mas ainda está afetando o que você vê na tela. Por exemplo, o processo de primeiro plano pode ser um diálogo que permite que você veja um aplicativo por trás dele - o aplicativo visível no segundo plano seria um processo visível.
  • 3. processo de serviço: Um processo de serviço não está vinculado a nenhum aplicativo visível na sua tela. No entanto, está fazendo algo em segundo plano, como tocar música ou fazer o download de dados em segundo plano. Por exemplo, se você começar a tocar música e mudar para outro aplicativo, a reprodução de música em segundo plano será feita por um processo de serviço.
  • 4. Processo em segundo plano: Processos em segundo plano não estão visíveis no momento para o usuário. Eles não têm impacto sobre a experiência de usar o telefone. A qualquer momento, muitos processos em segundo plano estão em execução no momento. Você pode pensar nesses processos em segundo plano como aplicativos "pausados". Eles são mantidos na memória para que você possa voltar rapidamente a usá-los quando voltar para eles, mas eles não estão usando o tempo valioso da CPU ou outros recursos que não sejam de memória.
  • 5. processo vazio: Um processo vazio não contém mais dados do aplicativo. Ele pode ser mantido para fins de armazenamento em cache para acelerar o lançamento de aplicativos mais tarde, ou o sistema pode eliminá-lo conforme necessário.

Por exemplo, digamos que você ligue seu telefone e abra um aplicativo de música. Enquanto você o usa, o aplicativo de música será um processo em primeiro plano. Quando começar a reproduzir música e sair da aplicação de música, a música continuará a ser reproduzida como um processo de serviço.

Vamos ver o Angry Birds como outro exemplo. Angry Birds seria um processo em primeiro plano enquanto você estava tocando. 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 em primeiro plano e o jogo será retomado rapidamente. O Angry Birds não estava usando recursos em segundo plano - além de alguma RAM -, mas é retomado rapidamente porque permaneceu em cache e pronto para ser retomado.
Vamos ver o Angry Birds como outro exemplo. Angry Birds seria um processo em primeiro plano enquanto você estava tocando. 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 em primeiro plano e o jogo será retomado rapidamente. O Angry Birds não estava usando recursos em segundo plano - além de alguma RAM -, mas é retomado rapidamente porque permaneceu em cache e pronto para ser retomado.

Android gerencia automaticamente processos

O Android faz um bom trabalho ao gerenciar automaticamente esses processos, e é por isso que você não precisa de um matador de tarefas no Android.

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

Na maioria dos casos, o Android faz tudo isso sem precisar se preocupar com isso. O Android usa de maneira inteligente a RAM do seu dispositivo para armazenar aplicativos em cache e outros dados, porque não faz sentido deixar sua RAM vazia.

Naturalmente, o Android fornece aos aplicativos muita flexibilidade, e eles têm espaço para se comportarem 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, consumindo todo o tempo da CPU e diminuindo drasticamente a duração 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 ele. Por ter um ícone de notificação visível, o Avast! torna-se um aplicativo de maior prioridade, impedindo que o Android considere um aplicativo de segundo plano e o mate.

Image
Image

Aplicativos Android podem começar em resposta a eventos

Aplicativos para Android também podem ser iniciados 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 a 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.

Image
Image

Gerenciando Processos

Você não precisa gerenciar os processos manualmente, mas há algumas maneiras de fazer isso, se quiser. Você pode usar o menu multitarefa no Android 4.0 e posterior para fazer um gerenciamento básico de processos.Para acessá-lo, toque no botão multitarefa dedicado em dispositivos Nexus. Em outros dispositivos Android, você pode ter que tocar duas vezes ou pressionar o botão Início.

Os aplicativos exibidos no menu provavelmente estão no estado "processo em segundo plano". Você pode eliminá-los ao deslizar um aplicativo para a esquerda ou para a direita, o que o removerá da memória do seu dispositivo. Isso não deve ser necessário, mas pode ajudar quando você quiser matar rapidamente um aplicativo. Talvez ele esteja se comportando mal.

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 matar um aplicativo com comportamento inadequado.
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 matar um aplicativo com comportamento inadequado.
Image
Image

O Android é baseado no Linux, e cada aplicativo no Android é atribuído a um ID de usuário diferente do Linux - ou conta de usuário. Isso isola os aplicativos uns dos outros. Se você torcer o seu dispositivo, os aplicativos podem escapar dos sandboxes dos usuários e ser executados com privilégios de root.

Recomendado: