Google працює над використанням моделей машинного навчання, щоб передбачити, коли користувач захоче зробити жест «свайп назад» в Android 12.
Google випустив першу версію для розробників Android 12 днями, і ми копалися в коді, щоб знайти все нове. Однією з найцікавіших змін, які ми помітили, є переробка того, як Android розпізнає рухи назад. У разі реалізації Android 12 використовуватиме моделі машинного навчання передбачити коли користувач має намір використати жест назад.
Із запуском Android 10 Google введено його повноекранна система жестової навігації. Жестова навігаційна система Android розміщує таблетку внизу екрана, з якою можна взаємодіяти, щоб перемикатися між програмами, відкривати інтерфейс останніх програм або переходити на головний екран. Тим часом кнопку «Назад» було замінено жестом змахування всередину, який можна активувати з лівого або правого боку екрана. Багато чорнила пролито проблема з жестом "назад" Android, але, до честі Google, вони це зробили зробив досвід послідовним
в екосистемі та мають надані API для розробників, щоб забезпечити сумісність із жестом. Хоча багато програм перейшли з використання a Панель навігації, все ще є багато програм, у яких жест "назад" може конфліктувати з інтерфейсом користувача програми. Щоб вирішити цю проблему, Google тестує новий підхід на основі машинного навчання до виявлення жестів назад в Android 12.Нижче описано, як наразі жест Android працює таким чином. Майже весь час з обох боків екрана існує невидима тригерна зона. Ця тригерна область простягається від 18dp до 40dp у ширину з боків екрана залежно від встановленого користувачем налаштування задньої чутливості. Користувач може активувати жест назад, просто помістивши палець у будь-яке місце вставки, а потім перемістивши його всередину на мінімальну відстань. Google використовував теплові карти екрана телефону під час розробки вставок для жестів на спині та вони зупинилися на зони розпізнавання, які користувачі вважають ергономічними та зручними для роботи однією рукою.
Навігація жестами в Android 10+. Джерело: Google.
Проблема з таким підходом, як Google самі визнають, полягає в тому, що деякі користувачі все ще проводять пальцем, щоб відкрити ящики навігації, що суперечить жесту «Назад». Кожна програма розроблена по-різному, але область активації жестів назад говорить те саме. Таким чином, цей універсальний підхід до жесту назад не відповідає дизайну деяких програм, тому Google експериментує з машинним навчанням, щоб замінити поточну модель.
Досліджуючи зміни, внесені Google жест подвійного дотику назад в Android 12, визнаний розробник XDA Quinny899 виявив наявність нової моделі TensorFlow Lite і файлу vocab під назвою «backgesture». Лист містить список із 43 000 назв пакетів як для популярних, так і для незрозумілих програм Android, включаючи 2 із Quinny899 власні програми. Ми вважаємо, що цей список містить програми, на яких Google навчав свою модель машинного навчання, тобто. вони визначили найчастіші початкові та кінцеві точки для жесту назад для кожної програми окремо. Копаючи глибше, ми виявили, що модель машинного навчання є посиланням в оновленому класі EdgeBackGestureHandler в SystemUI Android 12. Якщо ввімкнути позначку функції, здається, що Android 12 використовуватиме модель ML, щоб передбачити, чи збирався користувач виконати жест назад, чи він просто хотів здійснювати навігацію в програмі. Дані, які передаються в модель ML для висновку, включають початкову та кінцеву точки жесту, наявність програми в списку та ширину дисплея в пікселях. Крім того, якщо позначку функції вимкнено, Android 12 просто повернеться до стандартного методу виявлення згортання назад (тобто. вставки).
Наразі передбачення жестів назад на основі ML вимкнено за умовчанням у Android 12 Developer Preview 1. Цілком можливо, що Google може відмовитися від цього підходу, якщо він не перевершить існуючу модель на основі вставок. Однак ми не будемо знати напевно, поки Google не представить бета-версію Android 12 через кілька місяців, оскільки саме в цей час Google зазвичай розкриває свої більші зміни в Android.
Дякуємо PNF Software за надання нам ліцензії на використання Декомпілятор JEB, професійний інструмент зворотного проектування для програм Android.