O Android 12 pode permitir que você hiberne aplicativos não utilizados para liberar espaço

O Google está trabalhando em um recurso de hibernação de aplicativos para Android 12 que pode liberar espaço ocupado por aplicativos não utilizados em seu telefone.

Atualização 1 (25/01/2021 às 14h30 horário do leste dos EUA): Agora sabemos como o recurso de hibernação de aplicativos do Android liberará ainda mais espaço de armazenamento, além de limpar o cache. Clique aqui para obter mais informações.

Atualização 1 (19/01/2021 às 12h32 horário do leste dos EUA): Agora sabemos um pouco mais sobre como esse recurso irá liberar espaço. Clique aqui para obter mais informações. O artigo publicado em 11 de janeiro de 2021 está preservado abaixo.

Pode ser difícil de acreditar, mas provavelmente estamos a pouco mais de um mês do lançamento do primeiro Andróide 12 Visualização do desenvolvedor. Afinal, o primeiro Android 11 Developer Preview foi lançado em fevereiro de 2020! Estamos vasculhando o Android Open Source Project (AOSP) Gerrit para dicas de novos recursos chegando à próxima versão do Android, e recentemente descobrimos evidências de que o Google está trabalhando em um recurso de hibernação de aplicativos para Android 12.

Com base em algumas alterações de código submetido à AOSP, o Google está adicionando um novo serviço de sistema de hibernação de aplicativos “que gerencia o estado de hibernação do aplicativo, um estado que os aplicativos podem entrar, o que significa que não estão sendo usados ​​ativamente e podem ser otimizados para armazenamento”.

Infelizmente, não temos mais detalhes sobre esse recurso. Por exemplo, não sabemos como os aplicativos podem entrar nesse estado. É determinado automaticamente com base nas estatísticas de uso do aplicativo? Os usuários podem optar manualmente por forçar a hibernação dos aplicativos? Também não sabemos como os aplicativos serão otimizados para armazenamento, nem como o sistema operacional informará ao usuário quais aplicativos foram hibernados.

Nosso palpite é que a hibernação do aplicativo será automática como o recurso de revogação automática de permissões introduzido no Android 11 e que a otimização envolve compactação do APK e de outros recursos do aplicativo, mas não teremos certeza até que mais alterações de código sejam enviadas. Também não sabemos ao certo se esse recurso realmente chegará ao Android 12, pois os commits ainda não foram mesclados. Ainda há tempo para que novos recursos como esse sejam adicionados, mas a janela se fechará em breve. Assim que aprendermos mais sobre este serviço de hibernação de aplicativos ou quaisquer outros recursos do Android 12, compartilharemos essas informações.

Agradecimentos ao desenvolvedor reconhecido pelo XDA luca020400 pela dica!


Atualização 1: Limpando o cache do aplicativo

Embora os commits para o recurso de hibernação do aplicativo ainda não tenham sido mesclados – o que significa que ainda não sabemos com certeza se acabará no Android 12 – agora aprendemos um pouco mais de informações sobre como o recurso funciona. De acordo com o código enviado em um novo commit (mais uma vez descoberto pelo XDA Recognized Developer luca020400), o recurso de hibernação do aplicativo limpará automaticamente os arquivos de cache de um aplicativo. A quantidade de armazenamento que será liberada depende do aplicativo em questão – streaming de vídeo e mensagens os aplicativos podem armazenar em cache centenas de megabytes de dados – mas isso é apenas uma parte da hibernação do aplicativo recurso. Em um comentário, os desenvolvedores do Google sugerem mais economia potencial de armazenamento por meio da “hibernação em nível de pacote”. Isto poderia referir-se à compactação do aplicativo e seus recursos ou a outras ações para reduzir o espaço ocupado pela instalação de um aplicativo.


Atualização 2: Excluindo Artefatos de Compilação

Em um novo commit enviado ao AOSP Gerrit no final da semana passada, os engenheiros do Google revelaram como o recurso de hibernação de aplicativos do Android otimizará o espaço de armazenamento no nível do pacote/APK. Os comentários deixados nas alterações de código revelam que, quando um aplicativo hiberna para todos os usuários, seus arquivos de artefato de compilação (.vdex/.odex) serão excluídos. De acordo com o Google, os arquivos vdex contêm o código DEX descompactado de um APK, enquanto os arquivos odex contêm o código compilado antecipadamente para métodos no APK. A quantidade de espaço que será liberada com a exclusão desses arquivos provavelmente não será muito, especialmente quando comparada aos tamanhos de arquivo de imagens ou vídeos em cache. No entanto, em dispositivos de baixo custo com pequenas quantidades de armazenamento interno, economizar dezenas de megabytes liberará espaço para dezenas de fotos adicionais.