pt.phhsnews.com


pt.phhsnews.com / Como o Android gerencia os processos

Como o Android gerencia os processos


O Windows permite que os aplicativos de desktop permaneçam funcionando, 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 - aplicativos em primeiro plano são priorizados, mas os aplicativos têm muito mais liberdade para rodar em segundo plano do que no iOS.

Vamos ver exatamente como o Android está gerenciando os aplicativos e processos rodando 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 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 estiverem interagindo com o processo que está atualmente em 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 em primeiro plano pode ser uma caixa de diálogo que permite que você veja 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 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á tratada por um processo de serviço.
  • 4. Processo de plano de fundo : 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 rapidamente voltar 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 matá-lo conforme necessário.

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çar a tocar música e sair do aplicativo de música, a música continuará tocando 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 ver 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 continua rapidamente porque ficou em cache e pronto para ser retomado.

O Android Gerencia Automaticamente os Processos

O Android faz um bom trabalho gerenciando automaticamente esses 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 matar os processos menos importantes primeiro. O Android começará a matar os 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 inteligentemente usa a memória RAM do seu dispositivo para armazenar aplicativos e outros dados em cache, porque não faz sentido deixar sua memória RAM vazia.

Obviamente, o Android fornece aos aplicativos muita flexibilidade que 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 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 ele. Por ter um ícone de notificação visível, o Avast! torna-se um aplicativo de maior prioridade, evitando que o Android seja considerado um aplicativo de segundo plano e matando-o.

Aplicativos Android podem começar em resposta a eventos

Os 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.

Gerenciando Processos

Você não precisa gerenciar processos manualmente, mas há algumas maneiras de fazê-lo, se desejar. 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, talvez você precise tocar duas vezes ou pressionar longamente o botão Início.

Os aplicativos exibidos no menu provavelmente estão no estado de "processo em segundo plano". Você pode matá-los passando um aplicativo para a esquerda ou para a direita, o que irá removê-lo 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 para matar um aplicativo que se comporta mal.


O Android é baseado no Linux e cada aplicativo no Android é atribuído a um ID de usuário do Linux diferente - 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.

Crédito da imagem: JD Hancock no Flickr


O que o sinal de porcentagem em sequências de caracteres do shell do Linux faz?

O que o sinal de porcentagem em sequências de caracteres do shell do Linux faz?

Quando você está no processo de aprender a usar totalmente o shell do Linux, pode ficar curioso sobre o quanto pode manipular strings para obter os melhores resultados. Com isso em mente, a postagem de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor. A sessão de Perguntas e Respostas vem para nós, cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.

(how-to)

Como configurar um site com um domínio personalizado em 30 minutos

Como configurar um site com um domínio personalizado em 30 minutos

Eu venho blogando sobre o Tech Tips Online e Help Desk por anos, mas eu realmente não posso usá-los para postar pensamentos aleatórios, idéias, links, notas, etc, uma vez que consistem em mais conteúdo profissional. É por isso que eu decidi há dois dias configurar outro blog usando o nome de domínio aseemkishore.com que

(How-to)