Google работает над инкрементальной файловой системой, новой FS, которая позволит начать играть в большие игры для Android до того, как они будут полностью загружены.
По данным исследовательской компании, мобильные игры — это огромный рынок, общий доход которого составляет почти половину мирового игрового рынка в 2019 году. Ньюзоо. Play Store наводнен новыми играми, которые можно попробовать каждую неделю, за которыми может быть трудно угнаться, если у вас ограниченное время для игры. Google работает над новой файловой системой для будущей версии Android, возможно Андроид 12 в 2021 году, что может значительно упростить опробование новых игр. Файловая система называется добавочной файловой системой, и она предназначена для того, чтобы приложения могли выполняться, пока ее двоичные файлы и файлы ресурсов все еще загружаются.
В начале мая 2019 года Google отправленные исправления объединить поддержку добавочной файловой системы с ядром Linux. Согласно документации которую представил Google, Incremental FS — это «специальная виртуальная файловая система Linux, которая позволяет выполнять программу, пока ее двоичные файлы и файлы ресурсов все еще лениво загружены по сети, USB и т. д.» Цель этой функции — «разрешить запуск больших приложений Android до того, как их двоичные файлы и ресурсы будут полностью загружены на Устройство Android." Прямо сейчас, если вы хотите играть в игру для Android размером 5 ГБ, вам придется дождаться завершения загрузки, прежде чем вы сможете запустить игру. Google говорит, что Incremental FS может «беспрепятственно ожидать [временно] отсутствующих данных», что означает, что вы сможете запустить игру, поскольку она продолжает загружать все больше и больше полной игры. В случае с нашей гипотетической 5-гигабайтной игрой для Android допустим, что заставка игры имеет размер 200 МБ, расположенную со смещением в 1 ГБ. С помощью добавочной файловой системы можно загрузить первый МБ данных игры, и во время ее выполнения процесс может запросить первый МБ данных со смещением 1 ГБ, который будет загружен следующим, позволяя вводу начинать. Затем можно загрузить остальные 200 МБ вступительных данных, что, как мы надеемся, произойдет быстрее, чем будет воспроизводиться вступление, а затем можно будет загрузить главное меню игры. Может быть небольшое зависание в выполнении, когда необходимо загрузить следующий набор данных, т.е. меню расположено со смещением 150 МБ, но это позволит пользователю войти в игру быстрее, чем ждать завершения загрузки.
После отправки исправлений для ядра Linux Google вступила в дискуссии с несколькими сопровождающими ядра Linux относительно реализации и назначения FS. Некоторые критиковали Google за создание пользовательской файловой системы ядра вместо расширения существующей FUSE или файловой системы в пользовательском пространстве. Google заявил, что Файловые системы на основе FUSE значительно снижают производительность. для своих целевых сценариев увеличение энергопотребления до такой степени, что телефоны расходуют энергию быстрее, чем они заряжаются через шнур. Это было проблематично, потому что сотрудник Google сказал, что «цель проекта состояла в том, чтобы обеспечить мгновенное развертывание приложений из среды разработки на Android. [телефоны].» Основываясь на этом комментарии, мы предположили, что Google намеревался использовать эту функцию только для того, чтобы помочь разработчикам в тестировании добавочных сборок их мобильные игры. Однако это все еще может быть так, через несколько месяцев после того, как был сделан последний комментарий к первоначальным исправлениям ядра Linux, Google начал сливаться коммиты, связанные с добавочной файловой системой, в проект с открытым исходным кодом Android (AOSP). Коммиты вносят огромные изменения во многие части Android и ядра Android Linux, поэтому мы считаем, что это Возможно, Google планирует использовать добавочную файловую систему для улучшения общего взаимодействия с пользователем. Возможно, Google хочет, чтобы пользователи могли начать играть в большие игры для Android без необходимости их полной загрузки — по сути, Мгновенные приложения замена, которая не требует дополнительной работы от разработчиков, поскольку реализация находится в ядре.
В настоящее время Google тестирует функцию на Пикселе 4XL (коралл), и они также собрал модуль ядра для использования с универсальным образом ядра (GKI). В нескольких комментариях сотрудники Google объясняют, что устройства Android с этой функцией будут иметь новый каталог /data/incremental, который содержит подкаталоги для каждого приложения на устройстве. Подкаталоги будут содержать APK, собственные библиотеки и файлы OBB. В этих подкаталогах будет смонтирована добавочная файловая система, и каждый из них будет смонтирован с привязкой, чтобы указывать на исходные каталоги установки, т.е. /data/app/. Магазин Google Play сможет проверить подпись файла приложений, установленных на добавочной FS, что, вероятно, предотвратит выполнение добавочных приложений с другими сигнатурами, чем установленные в настоящее время приложения.
Учитывая, что работа над этой функцией все еще продолжается, а внутренний крайний срок для основных изменений функций Android 11, вероятно, близок. приближается, если еще не прошло, мы подозреваем, что устройства не начнут поставляться с поддержкой добавочной файловой системы, пока Android 12 в 2021 году. Мы продолжим следить за развитием этой функции и, конечно же, сообщим вам, если узнаем больше о том, как она работает.
Благодаря признанным разработчикам XDA фхуссон и лука020400 за их вклад!