Android 12 może umożliwiać hibernację nieużywanych aplikacji w celu zwolnienia miejsca

Google pracuje nad funkcją hibernacji aplikacji dla Androida 12, która może zwolnić miejsce zajmowane przez nieużywane aplikacje na Twoim telefonie.

Aktualizacja 1 (25.01.2021 o 14:30 ET): Wiemy już, w jaki sposób funkcja hibernacji aplikacji na Androida jeszcze bardziej zwolni miejsce na dysku, wykraczając poza czyszczenie pamięci podręcznej. Kliknij tutaj po więcej informacji.

Aktualizacja 1 (19.01.2021 o 12:32 ET): Teraz wiemy nieco więcej o tym, jak ta funkcja zwolni miejsce. Kliknij tutaj po więcej informacji. Artykuł opublikowany 11 stycznia 2021 r. znajduje się poniżej.

Może trudno w to uwierzyć, ale prawdopodobnie już tylko nieco ponad miesiąc dzieli nas od premiery pierwszej części Androida 12 Podgląd deweloperski. Przecież wypuszczono pierwszą wersję deweloperską Androida 11 już w lutym 2020 r! Przeszukaliśmy projekt Android Open Source Project (AOSP) Gerrit aby uzyskać wskazówki dotyczące nowych funkcji nadchodzi kolejna wersja Androida, a ostatnio zauważyliśmy dowody na to, że Google pracuje nad funkcją hibernacji aplikacji dla Androida 12.

Na podstawie kilku zmian w kodzie przesłane do AOSPGoogle dodaje nową usługę systemu hibernacji aplikacji, „która zarządza stanem hibernacji aplikacji. Stan, w który aplikacje mogą wejść, oznacza, że ​​nie są aktywnie używane i można je zoptymalizować pod kątem przechowywania”.

Niestety nie mamy więcej szczegółów na temat tej funkcji. Na przykład nie wiemy, w jaki sposób aplikacje mogą wejść w ten stan. Czy jest to automatycznie ustalane na podstawie statystyk użytkowania aplikacji? Czy użytkownicy mogą ręcznie wymusić hibernację aplikacji? Nie wiemy również, w jaki sposób aplikacje zostaną zoptymalizowane pod kątem przechowywania, ani nie wiemy, w jaki sposób system operacyjny poinformuje użytkownika, które aplikacje zostały hibernowane.

Domyślamy się, że hibernacja aplikacji będzie automatyczna jak funkcja automatycznego cofania uprawnień wprowadzono w Androidzie 11 i ta optymalizacja obejmuje kompresję pliku APK i innych zasobów aplikacji, ale nie będziemy tego pewni, dopóki nie zostaną przesłane więcej zmian w kodzie. Nie wiemy też na pewno, czy ta funkcja rzeczywiście trafi do Androida 12, ponieważ zatwierdzenia nie zostały jeszcze scalone. Nadal jest czas na dodanie takich nowych funkcji, ale okno to wkrótce się zamknie. Gdy dowiemy się więcej o tej usłudze hibernacji aplikacji lub innych funkcjach dostępnych w systemie Android 12, udostępnimy te informacje.

Dzięki uznanemu programiście XDA Luca020400 za wskazówkę!


Aktualizacja 1: Czyszczenie pamięci podręcznej aplikacji

Chociaż zatwierdzenia funkcji hibernacji aplikacji nie zostały jeszcze połączone, co oznacza, że ​​nadal nie wiemy na pewno, czy trafi do Androida 12 — dowiedzieliśmy się teraz nieco więcej o działaniu tej funkcji Pracuje. Zgodnie z kodem przesłane w nowym zatwierdzeniu (po raz kolejny zauważony przez uznanego programistę XDA Luca020400), funkcja hibernacji aplikacji automatycznie wyczyści pliki pamięci podręcznej aplikacji. Ilość wolnego miejsca zależy od aplikacji — przesyłania strumieniowego wideo i przesyłania wiadomości aplikacje mogą buforować dane o wartości setek megabajtów — ale to tylko jedna część hibernacji aplikacji funkcja. W komentarzu programiści Google wskazują na większe potencjalne oszczędności miejsca dzięki „hibernacji na poziomie pakietu”. To może odnosić się do kompresji aplikacji i jej zasobów lub do innych działań mających na celu zmniejszenie miejsca zajmowanego przez instalację aplikacji.


Aktualizacja 2: Usuwanie artefaktów kompilacji

W nowe zatwierdzenie przesłane do AOSP Gerrit pod koniec zeszłego tygodnia, inżynierowie Google ujawnili, w jaki sposób funkcja hibernacji aplikacji na Androida zoptymalizuje przestrzeń dyskową na poziomie pakietu/APK. Komentarze pozostawione w zmianach kodu ujawniają, że gdy aplikacja zostanie hibernowana dla wszystkich użytkowników, jej pliki artefaktów kompilacji (.vdex/.odex) zostaną usunięte. Według Google’a, pliki vdex zawierają nieskompresowany kod DEX pliku APK, podczas gdy pliki odex zawierają skompilowany wcześniej kod metod w pliku APK. Ilość miejsca, które zostanie zwolnione po usunięciu tych plików, prawdopodobnie nie będzie duża, szczególnie w porównaniu z rozmiarami plików obrazów i filmów przechowywanych w pamięci podręcznej. Jednak na słabszych urządzeniach z niewielką ilością pamięci wewnętrznej zaoszczędzenie kilkudziesięciu megabajtów spowoduje zwolnienie miejsca na dziesiątki dodatkowych zdjęć.