Объём доступной памяти на смартфонах обычно довольно ограничен, особенно при активной фото- и видеосъёмке. Так что порой для установки обновления ОС или новых приложений приходится очищать встроенный накопитель. На современных аппаратах высокого класса, вроде Pixel 2 или LG V30 с базовым объёмом флеш-памяти 64 Гбайт, проблема не стоит так остро, но на более дешёвых устройствах она актуальная. Что предлагает Google? Новый механизм в Android 8.1, который очищает память за счёт уменьшения размера кеша приложений.

В Android Open Source Project (AOSP) функция описывается как автоматическая, активирующаяся в случае нехватки флеш-памяти. Спустя указанный в параметрах Android sysprop срок в количестве дней приложения, которые давно не использовались, будут помечаться неактивными, и их приоритет снизится. Система считает активными то ПО, которое недавно запускалось пользователем или работало на фоне.

Затем в Android 8.1 «неактивные» приложения не пропускаются через инструмент dexopt, который оптимизирует файлы .dex и создаёт .odex. В результате последние не будут занимать место в кеше виртуальной машины Dalvik, внутри которой исполняются Android-приложения. Подробнее механизм описан в англоязычном руководстве одного из участников форума XDA под псевдонимом cyanidekiller.

Решение довольно элегантное, но всё же частичное: активные приложения будут по-прежнему занимать избыточное пространство в целях оптимизации работы. Вдобавок функция является частью Android 8.1, так что в большинстве современных смартфонов она появится нескоро. Тем более, что производитель должен вручную её активировать. Но приятно знать, что в Google думают об экономии флеш-памяти мобильных устройств.