Bezproblemowe aktualizacje Androida Nougata, wyjaśnione
We wszystkich generacjach urządzeń z Androidem - aż do aktualizacji systemu operacyjnego Marshmallow zasadniczo działało w ten sam sposób: aktualizacja została pobrana, telefon uruchomiono ponownie i zastosowano aktualizację. W tym czasie telefon staje się bezużyteczny, przynajmniej do czasu, gdy aktualizacja zostanie w pełni zainstalowana. Dzięki nowym "Bezawaryjnym aktualizacjom" Nougata model ten należy już do przeszłości.
Jak zmieniły się aktualizacje w systemie Android 7.0 Nougat
Firma Google pobrała stronę z własnego systemu operacyjnego Chrome w celu uzyskania nowej metody aktualizacji. Chromebooki zawsze skutecznie działały w ten sposób: aktualizacja jest pobierana w tle, a następnie monituje użytkownika o ponowne uruchomienie komputera, aby zakończyć proces instalacji. Jedno szybkie ponowne uruchomienie w późniejszym czasie, a aktualizacja jest kompletna - nie trzeba czekać na aktualizację do zainstalowania, żadnej "optymalizacji" ani żadnej innej rzeczy, która wydaje się zajmować wieczność. Jest szybki, łatwy, a przede wszystkim nie ma nieuzasadnionej ilości przestojów.
Począwszy od Androida 7.0, jest to kierunek, w którym idą aktualizacje Androida. Warto tutaj o tym wspomnieć nie będzie dotyczy urządzeń zaktualizowanych do Nougat, tylko tych, które są dostarczane wraz z oprogramowaniem. Przyczyna tego jest całkowicie logiczna: ta nowa metoda aktualizacji wymaga dwóch partycji systemowych, aby mogły działać, a prawie wszystkie obecne telefony z Androidem mają tylko jedną. Ponowne partycjonowanie urządzenia w locie może być potencjalnie katastrofalne (i prawdopodobnie wystąpiłoby w wielu scenariuszach), więc decyzja Google o pozostawieniu go samego na telefonach z obecną generacją jest godna szacunku, aczkolwiek niemiła.
Działa to trochę tak: istnieje aktywna partycja systemowa i uśpiona partycja, które są swoimi lustrzanymi odbiciami. Gdy aktualizacja OTA staje się dostępna, aktywna partycja pobiera ją, a następnie aktualizuje nieaktywną partycję. Po ponownym uruchomieniu partycja uśpiona staje się aktywna, a poprzednio aktywna partycja zostaje uśpiona, co oznacza zaktualizowane oprogramowanie.
To nie tylko powoduje, że cały proces aktualizacji jest nieporównywalnie szybszy, ale służy również jako rodzaj systemu tworzenia kopii zapasowych. Jeśli coś się nie uda z tą aktualizacją, system wykryje, że wystąpił błąd podczas uruchamiania, i po prostu przełącza się z powrotem na nienaruszoną partycję systemową. Po ponownym uruchomieniu komputera można ponownie pingować serwery pobierania, ponownie zastosować aktualizację i ponownie uruchomić ponownie, aby ukończyć proces. W porównaniu z katastrofalnymi awariami aktualizacji w obecnym systemie - co wymaga dużej interakcji z użytkownikiem, narzędzi programistycznych Androida i znajomości wiersza poleceń - metoda z dwoma partycjami jest po prostu lepsza.
Nie widzieliśmy jeszcze tego działania, więc wciąż jest wiele pytań
Oczywiście, jest dostarczany z własnym zestawem pytań i wątpliwości. Chociaż rozumiemy, jak działa ten system w teorii, musimy jeszcze zobaczyć, jak to faktycznie działa w praktyce, ponieważ Nougat nie ma jeszcze aktualizacji, a żadne urządzenia nie zostały dostarczone z wersją 7.0. Cokolwiek jest spekulacją, ale wyobrażam sobie, że kiedy na przykład zostanie zastosowana aktualizacja, prawdopodobnie wystąpi bardzo mocne uderzenie w wydajność systemu.
Ponadto, jeśli jesteś kimś podobnym do mnie, czytasz powyższą sekcję i myślisz: "ile miejsca zajmie dwie partycje systemowe?" Można automatycznie założyć, że zajmie to dwa razy więcej miejsca, co nie jest całkowicie niepoprawne, ale musisz też pamiętać, że tak system partycje, co nie oznacza, że będzie wymagać dwóch kopii każdej zainstalowanej aplikacji. Mimo to oznacza to, że obecne systemy zajmujące jeden gigabajt - nierzadki rozmiar w systemie operacyjnym Android - mogą teraz wymagać dwóch gigabajtów (lub więcej).
To powiedziawszy, Google przeniosło się do nowego systemu plików o nazwie SquashFS, który jest wysoce skompresowanym systemem plików tylko do odczytu, pierwotnie zaprojektowanym dla systemów wbudowanych w sytuacjach o niskiej pamięci. To zdecydowanie powinno pomóc zrekompensować niektóre problemy z przestrzenią, które nieuchronnie idą w parze z konfiguracją z dwoma systemami partycji. Mimo to możemy zacząć widzieć urządzenia wysyłane z minimum z 32 GB w ruchu. Czas pokaże.
Nie jest również jasne, co dzieje się z nową uśpioną partycją po aktualizacji. Istnieje możliwość, że mogłaby ona zostać zaktualizowana w tle, a następnie czekać na pojawienie się kolejnej nowej OTA, ale nie ma dokumentacji technicznej potwierdzającej tę teorię - tylko ja myślę głośno. Wydaje mi się jednak, że to ma sens, ponieważ w przeciwnym razie ten nowy system wydawałby się być scenariuszem, który kiedyś byłby w porządku, co jest dokładnie odwrotnym kierunkiem, niż Google stara się tutaj przejść..
Niestety, ponieważ nie ma jeszcze urządzenia obsługującego nowy system bezproblemowej aktualizacji, niektóre z tych pytań będą musiały pozostać bez odpowiedzi. Gdy zaczną pojawiać się nowe generacje telefonów, będziemy mogli lepiej zrozumieć, jak to wszystko będzie działać w realnym świecie. Ale na razie: To brzmi jak bardzo dobra rzecz.