Google работи върху функция за хибернация на приложения за Android 12, която може да освободи място, заето от неизползвани приложения на вашия телефон.
Актуализация 1 (25.01.2021 г. в 14:30 ET): Вече знаем как функцията за хибернация на приложението на Android допълнително ще освободи място за съхранение освен изчистването на кеша. Щракнете тук за повече информация.
Актуализация 1 (19.01.2021 г. в 12:32 ET): Вече знаем малко повече за това как тази функция ще освободи място. Щракнете тук за повече информация. Статията, публикувана на 11 януари 2021 г., е запазена по-долу.
Може да е трудно за вярване, но най-вероятно сме само на малко повече от месец от пускането на първия Android 12 Визуализация за разработчици. В края на краищата беше пуснат първият Android 11 Developer Preview още през февруари 2020 г! Разтърсихме проекта с отворен код за Android (AOSP) Gerrit за съвети за нови функции идва към следващата версия на Android и наскоро забелязахме доказателства, че Google работи върху функция за хибернация на приложения за Android 12.
Въз основа на няколко промени в кода подадено на AOSP, Google добавя нова системна услуга за хибернация на приложения, "която управлява състоянието на хибернация на приложенията, състояние, в което приложенията могат да влязат, което означава, че не се използват активно и могат да бъдат оптимизирани за съхранение."
За съжаление, нямаме повече подробности за тази функция. Например, ние не знаем как приложенията могат да влязат в това състояние. Определя ли се автоматично въз основа на статистически данни за използването на приложението? Могат ли потребителите ръчно да изберат принудително хибернация на приложенията? Също така не знаем как приложенията ще бъдат оптимизирани за съхранение, нито как операционната система ще каже на потребителя кои приложения са били в хибернация.
Нашето предположение е, че хибернацията на приложението ще бъде автоматична като функцията за автоматично отнемане на разрешения въведен в Android 11 и тази оптимизация включва компресиране на APK и други ресурси на приложението, но няма да знаем със сигурност, докато не бъдат изпратени още промени в кода. Също така не знаем със сигурност дали тази функция наистина ще си проправи път към Android 12, тъй като ангажиментите все още не са обединени. Все още има време за добавяне на нови функции като тази, но прозорецът скоро се затваря. След като научим повече за тази услуга за хибернация на приложението или други функции, идващи в Android 12, ще споделим тази информация.
Благодарение на XDA Recognized Developer luca020400 за върха!
Актуализация 1: Изчистване на кеша на приложението
Въпреки че ангажиментите за функцията за хибернация на приложението все още не са обединени — което означава, че все още не знаем със сигурност дали ще се окаже в Android 12 — вече научихме малко повече информация за това как тази функция върши работа. Според кода изпратено в нов комит (отново забелязано от XDA Recognized Developer luca020400), функцията за хибернация на приложението автоматично ще изчисти кеш файловете на приложението. Количеството място за съхранение, което ще бъде освободено, зависи от въпросното приложение — поточно видео и съобщения приложенията могат да кешират данни на стойност стотици мегабайти - но това е само една част от хибернацията на приложението особеност. В коментар разработчиците на Google намекват за повече потенциални спестявания на хранилище чрез „хибернация на ниво пакет“. Това може да се отнася за компресиране на приложението и неговите ресурси или за други действия за намаляване на пространството, заето от инсталацията на приложението.
Актуализация 2: Изтриване на артефакти на компилация
В нов ангажимент изпратено до AOSP Gerrit в края на миналата седмица, инженерите на Google разкриха как функцията за хибернация на приложението на Android ще оптимизира пространството за съхранение на ниво пакет/APK. Коментарите, оставени в промените в кода, разкриват, че когато дадено приложение е в хибернация за всички потребители, неговите компилационни файлове с артефакти (.vdex/.odex) ще бъдат изтрити. Според Google, vdex файловете съдържат некомпресирания DEX код на APK, докато odex файловете съдържат предварително компилирания код за методи в APK. Размерът на пространството, което ще бъде освободено чрез изтриване на тези файлове, вероятно няма да е много, особено в сравнение с файловите размери на кеширани изображения или видеоклипове. Въпреки това, на устройства от по-нисък клас с малко вътрешно хранилище, спестяването на десетки мегабайти ще освободи място за десетки допълнителни снимки.