Sitemap
Younger Auad

Android/Java, Software Engineering, Mobile Computing, Interaction Design

Processos

--

Press enter or click to view image in full size
by Paco Pomet / from beautifuldecay.com

Segue abaixo uma lista de tipos de processos da maneira que o Android categoriza e define suas prioridades:

processos
  • Processos Ativos: São processos em interação com usuário (foreground). São os processos mantidos a todo custo pelo gerenciador;
  • Processos Visíveis: São processos que estão visíveis, mas não estão interagindo com o usuário. Estes processos somente são terminados em casos de extrema necessidade, para que um processo ativo continue executando;
  • Processos Iniciados: São processos hospedando serviços que foram iniciados e não possuem interface visível. Como não interagem diretamente com o usuário possuem um nível de prioridade inferior ao de processos visíveis;
  • Processos em Segundo Plano: São processos de atividades que não estão visíveis e não possuem serviços iniciados. Estes processos são finalizados utilizando-se o padrão Last–Seen–First–Killed;
  • Processos Vazios: São processos já finalizados, que são mantidos na memória pelo sistema operacional, para acelerar o start–up do mesmo e melhorar a performance do sistema. Estes processos são frequentemente finalizados para serem finalizados e cederem recursos aos processos em execução.

Perceba a relação com a categorização das Activities. Uma activity ou processo em foreground, torna o status do processo que os hospedam em foreground. As activities e serviços hospedadas em um processo estando em status background, torna o status do processo em background.

Get Tássio Auad’s stories in your inbox

Join Medium for free to get updates from this writer.

Quando temos processos considerados de baixa prioridade, eles podem ser eliminados da memória em caso de necessidade, por exemplo, por falta de espaço. Isso é feito pelo Oom Handling, que é um controlador de memória do sistema operacional responsável por encerrar processos caso verifique que a memória que esta disponível esteja abaixo do valor mínimo aceitável. Outro detalhe é que a entrada no manifesto para cada tipo de elemento componente da aplicação — , , e — suporta um atributo android:process que pode especificar o processo no qual o componente deverá rodar.

--

--

Tássio Auad
Tássio Auad

Written by Tássio Auad

Christian, Mobile Developer, Tea Drinker, Caffeine Dependent Life-Form

Younger Auad
Younger Auad

Published in Younger Auad

Android/Java, Software Engineering, Mobile Computing, Interaction Design