Sobes.tech
Middle+

Como é que a prioridade das aplicações é determinada no sistema?

sobes.tech IA

Resposta da IA

A prioridade de uma aplicação no Android é determinada com base em vários fatores, sendo os principais:

  • Atividade do componente: Uma aplicação que possui componentes ativos (atividades em primeiro plano, serviços iniciados com startForeground) tem uma prioridade mais alta.
  • Uso de recursos: Aplicações que utilizam ativamente a CPU ou consomem muita memória podem ser marcadas pelo sistema como de prioridade inferior para conservar recursos para tarefas mais importantes.
  • Interação com a interface do utilizador: Aplicações que interagem diretamente com o utilizador neste momento recebem a prioridade mais alta.
  • Ligação a processos de prioridade mais elevada: Um processo ao qual um componente está ligado (por exemplo, um serviço conectado a uma atividade) herda a prioridade de um processo de prioridade mais elevada.

O sistema Android usa esses fatores para determinar o "nível de importância" (importance level) de uma aplicação, que por sua vez determina quão provável é que o seu processo seja terminado (matado) em caso de escassez de memória.

Principais níveis de importância dos processos:

  • Processo em primeiro plano: O processo mais importante. A aplicação com uma atividade visível na tela, um serviço iniciado com startForeground, ou que utiliza certas API (por exemplo, relacionado com outra atividade em primeiro plano). Nunca é terminado pelo sistema, a menos que os recursos críticos se esgotem.
  • Processo visível: Processo que não possui componentes em primeiro plano, mas que influencia o que o utilizador vê. Por exemplo, um processo que contém um serviço relacionado com uma atividade em primeiro plano.
  • Processo de serviço: Processo que contém um serviço iniciado com startService e não marcado como serviço em primeiro plano. Pode ser terminado quando a escassez de memória se tornar grave.
  • Processo em cache: Processo que não contém componentes ativos e é mantido na memória para uma recuperação mais rápida. É o processo de menor importância e o candidato mais provável a ser terminado em caso de escassez de memória.