Pagina inicial » como » Seamless Updates do Android Nougat, explicado

    Seamless Updates do Android Nougat, explicado

    Em todas as gerações de dispositivos Android, até as atualizações do sistema operacional Marshmallow, inclusive, funcionaram basicamente da mesma maneira: a atualização é baixada, o telefone é reinicializado e a atualização é aplicada. Durante esse tempo, o telefone é inutilizado, pelo menos até que a atualização tenha sido totalmente instalada. Com as novas “Atualizações sem costuras” do Nougat, esse modelo é uma coisa do passado.

    Como as atualizações foram alteradas no Android 7.0 Nougat

    O Google retirou uma página de seu próprio Chrome OS para o novo método de atualização. Os Chromebooks sempre funcionaram da seguinte maneira: a atualização é baixada em segundo plano e, em seguida, avisa ao usuário que é necessário reinicializar para concluir o processo de instalação. Uma rápida reinicialização mais tarde, e a atualização está completa - sem esperar que a atualização seja instalada, sem "otimizar" ou qualquer outra coisa que pareça levar idades. É rápido, fácil e, acima de tudo, não tem uma quantidade excessiva de tempo de inatividade.

    A partir do Android 7.0, esta é a direção que as atualizações do Android estão seguindo. Vale a pena mencionar aqui que esta não vou aplicam-se a dispositivos atualizados para o Nougat, apenas aqueles que acompanham o software. A razão para isso é perfeitamente lógica: este novo método de atualização exigirá duas partições de sistema para funcionar, e praticamente todos os telefones Android atuais têm apenas um. Re-particionando o dispositivo em tempo real pode ser potencialmente catastrófico (e provavelmente seria em muitos cenários), então a decisão do Google de deixá-lo sozinho nos telefones da geração atual é respeitável, embora seja uma chatice.

    Funciona um pouco assim: há uma partição de sistema ativa e uma partição inativa, que são imagens espelhadas uma da outra. Quando uma atualização OTA se torna disponível, a partição ativa faz o download e, em seguida, atualiza a partição dormente. Uma reinicialização posterior, a partição inativa torna-se ativa e a partição anteriormente ativa fica inativa, aplicando o software atualizado.

    Isso não só torna o processo de atualização inteiro incomensuravelmente mais rápido, mas também serve como um tipo de sistema de backup. Caso algo dê errado com a atualização, o sistema pode detectar que há um erro durante a inicialização e simplesmente voltar para a partição do sistema não afetada. Na reinicialização, ele poderá executar ping nos servidores de download novamente, reaplicar a atualização e reinicializar novamente para concluir o processo. Comparado com o modo como as falhas de atualização catastróficas são tratadas no sistema atual - o que requer muita interação do usuário, ferramentas de desenvolvimento do Android e familiaridade com a linha de comando - o método de partição dupla é simplesmente melhor.

    Nós ainda não vimos isso em ação, então ainda há muitas perguntas

    Naturalmente, ele vem com seu próprio conjunto de perguntas e preocupações. Embora entendamos como esse sistema funciona na teoria, ainda precisamos ver como ele realmente funciona na prática, uma vez que o Nougat ainda não teve uma atualização e nenhum dispositivo foi lançado com o 7.0. Qualquer coisa é especulação, mas imagino que, quando uma atualização está sendo aplicada, por exemplo, provavelmente haverá um impacto muito grande no desempenho do sistema.

    Além disso, se você for como eu, leu a seção acima e pensou: “quanto espaço terá duas partições do sistema?” Pode-se supor automaticamente que será necessário o dobro da quantidade de espaço, o que não é completamente incorreto, mas você também tem que lembrar que estes são sistema partições, o que não significa que vai exigir duas cópias de cada aplicativo instalado. Ainda assim, isso significa que os sistemas atuais que consomem um gigabyte - um tamanho não incomum para um sistema operacional Android - podem essencialmente exigir dois gigabytes (ou mais).

    Dito isso, o Google mudou para um novo sistema de arquivos chamado SquashFS, que é um sistema de arquivos altamente compactado, somente leitura, originalmente projetado para sistemas embarcados em situações de pouca memória. Isso definitivamente deve ajudar a compensar alguns dos problemas de espaço que inevitavelmente irão acompanhar a configuração de duas partições do sistema. Ainda assim, podemos começar a ver dispositivos enviados com mínimo de 32GB avançando. O tempo vai dizer.

    Também não está claro o que acontece com a nova partição inativa após a atualização. Existe a possibilidade de que ele possa ser atualizado em segundo plano e então esperar que outro novo OTA chegue, mas não há documentação técnica para apoiar essa teoria - apenas eu pensando em voz alta. Ainda assim, parece fazer sentido para mim, porque senão esse novo sistema aparentemente pareceria um tipo de cenário de atualização, o que é exatamente a direção oposta que o Google está tentando fazer aqui..

    Infelizmente, como ainda não há um dispositivo que suporte o novo sistema de atualização contínua, algumas dessas perguntas terão que ficar sem resposta. Quando as novas gerações de telefones começarem a ser lançadas, teremos uma compreensão muito melhor de como tudo isso funcionará no mundo real. Mas por enquanto: parece uma coisa muito boa.