Android Nougats Seamless Updates, Förklarade
I alla generationer av Android-enheter-upp till ett inklusive Marshmallow-operativsystem har uppdateringar i huvudsak fungerat på samma sätt: uppdateringen laddas ned, telefonen startas om och uppdateringen tillämpas. Under denna tid görs telefonen värdelös, åtminstone tills uppdateringen är helt installerad. Med Nougats nya "Seamless Updates" är den här modellen en sak i det förflutna.
Hur uppdateringar har ändrats i Android 7.0 Nougat
Google har tagit en sida från sitt eget Chrome OS för den nya uppdateringsmetoden. Chromebooks har alltid fungerat så här: uppdateringen hämtas i bakgrunden och uppmanar användaren att omstart krävs för att slutföra installationsprocessen. En snabb omstart senare, och uppdateringen är komplett - ingen väntar på att uppdateringen ska installeras, ingen "optimering" eller någon av de andra saker som tycks ta åldrar. Det är snabbt, enkelt och mest av allt, har inte en orimlig mängd nedetid.
Börja med Android 7.0, det här är den riktning som Android uppdateringar går. Det är värt att nämna här att detta ska inte gäller för enheter uppdaterade till Nougat, bara de som skickas med programvaran. Anledningen till detta är helt logiskt: den här nya uppdateringsmetoden kräver två systempartitioner för att kunna fungera, och i stort sett alla nuvarande Android-telefoner har bara en. Omfördelningen av enheten i flygningen kan vara potentiellt katastrofal (och sannolikt skulle vara i många scenarier), så Googles beslut att lämna det ensamt på nuvarande generationens telefoner är respektabelt, om än en bummer.
Det fungerar lite så här: det finns en aktiv systempartition och en vilande partition, som är spegelbilder av varandra. När en OTA-uppdatering blir tillgänglig, hämtar den aktiva partitionen den och uppdaterar sedan den vilande partitionen. En omstart senare blir den vilande partitionen aktiv och den tidigare aktiva partitionen blir vilande, det här gäller den uppdaterade mjukvaran.
Det här gör inte bara hela uppdateringsprocessen oumbärligt snabbare, men den fungerar också som ett slags backup-system. Om något skulle gå fel med uppdateringen kan systemet upptäcka att det uppstod ett fel vid uppstart och bara vända tillbaka till den opåverkade systempartitionen. Vid omstart kan den sedan pinga nedladdningsservrarna en gång till, tillämpa uppdateringen igen och starta om igen för att slutföra processen. Jämfört med hur katastrofala uppdateringsfel hanteras i det nuvarande systemet - vilket kräver mycket användarinteraktion, Android-utvecklingsverktyg och förtrogenhet med kommandoraden - är dubbel-partitionsmetoden helt enkelt bättre.
Vi har inte sett detta i aktion än, så det finns fortfarande många frågor
Självklart kommer det med sin egen uppsättning frågor och bekymmer. Medan vi förstår hur systemet fungerar teoretiskt, har vi ännu inte sett hur det faktiskt fungerar i praktiken, eftersom Nougat inte har uppdaterat ännu, och inga enheter har levererats med 7,0. Något är spekulation, men jag skulle föreställa mig att när en uppdatering till exempel används kommer det troligen att bli en ganska svår hit för systemprestanda.
Dessutom, om du är något som jag, läser du ovanstående avsnitt och tänkte: "hur mycket utrymme kommer att ha två systempartitioner ta?" Man kan automatiskt anta att det tar dubbelt så mycket utrymme som inte är helt felaktigt, men du måste också komma ihåg att dessa är systemet partitioner, vilket inte betyder att det kommer att kräva två kopior av varje app installerad. Ändå betyder det att nuvarande system som tar en gigabyte - en inte ovanlig storlek för ett Android OS - skulle kunna kräva två gigabyte (eller mer).
Med det sagt har Google flyttat till ett nytt filsystem som heter SquashFS, vilket är ett komprimerat skrivskyddat filsystem som ursprungligen är utformat för inbyggda system i lågminnessituationer. Detta borde definitivt hjälpa till att kompensera några av de rymdfrågor som oundvikligen kommer att överföras med att ha en två-system-partition setup. Ändå kan vi börja se att enheter skickar med en minimum av 32 GB framåt. Tiden får avgöra.
Det är också oklart vad som händer med den nya vilande partitionen efter uppdateringen. Det finns en möjlighet att det då kan bli uppdaterat i bakgrunden och vänta tills en ny OTA kommer fram, men det finns ingen teknisk dokumentation för att stödja denna teori, bara jag tänker högt. Ändå verkar det vara meningsfullt för mig, för annars skulle det här nya systemet tydligen verka som ett enstaka uppdateringsscenario, vilket är exakt motsatt riktning som Google försöker att gå hit.
Tyvärr, eftersom det inte finns någon enhet som stöder det nya systemet Seamless Update, kommer några av dessa frågor bara att gå obesvarade. När de nya generationerna av telefoner börjar rulla ut, får vi en mycket bättre förståelse för hur allt detta kommer att fungera i den verkliga världen. Men för nu: Det låter som en mycket bra sak.