Повышение качества приложений: снижение использования памяти и улучшение переноса данных на устройства
Время на чтение: 4 минуты
Поддержание здоровой экосистемы Android – это общая задача, в которой каждое приложение и игра играют свою роль. Чтобы помочь вам создавать продукты, соответствующие ожиданиям пользователей, Google Play вводит два новых требования к качеству. Одно из них направлено на сокращение объема потребляемой памяти, а другое – на обеспечение безопасного и удобного переноса данных на новое устройство.
Во-первых, чтобы помочь разработчикам справиться с аппаратными ограничениями и лимитами памяти Android, Google Play устанавливает новые пороговые значения производительности.
Во-вторых, в рамках нашей общей работы по повышению качества приложений мы вводим новый стандарт, который упростит и обезопасит вход в аккаунт при обновлении устройства.
Как оптимизировать код и уменьшить использование памяти приложением
Мобильная индустрия сталкивается со значительными ограничениями в поставках аппаратного обеспечения, которые влияют на доступность памяти устройств и со временем могут негативно сказаться на удобстве использования. Чтобы решить эту проблему, мы вводим более широкие ограничения на использование памяти. Они помогут защитить пользователей от приложений, которые потребляют слишком много ресурсов и замедляют работу системы.
Основываясь на этом, сегодня Google Play устанавливает пороговые значения производительности, чтобы помочь разработчикам обеспечить высокое качество приложений, которое ожидают пользователи. В частности, мы добавили новые пороговые значения для использования динамической памяти и битовых карт, а также для оптимизации кода. Это поможет предотвратить неожиданное снижение производительности на устройстве и закрытие приложения.
- Динамическое использование памяти (анонимный RSS и файл подкачки). Этот показатель отражает объем памяти, используемый для хранения личных данных приложения, включая активную и сжатую память. В него не входят файлы, хранящиеся на устройстве, например код или объекты. Мы будем оценивать использование ресурсов в разных состояниях приложения (например, когда оно используется или работает в фоновом режиме) и категориях производительности устройств.
- Использование памяти битовыми картами. Оценивается объем памяти, используемый битовыми картами. Хотя битовые карты занимают память, когда приложение находится в активном режиме, они не должны храниться в памяти в течение длительного времени в невидимых состояниях приложения, таких как фоновое и кешированное.
- Оптимизированный DEX-код. Хорошо оптимизированный набор Android App Bundle использует меньше памяти, быстрее запускается, реже вызывает ошибки ANR и повышает производительность отрисовки и выполнения. Чтобы обеспечить оптимальный размер, приложения, опубликованные в Google Play, должны быть оптимизированы с минимальным охватом 25% по оптимизации, сжатию и обфускации с помощью такого инструмента, как R8 или любого другого инструмента сжатия.
Изучите пороговые значения и технические сведения, чтобы лучше понять различия в применимости, характерные для приложений и игр, сегментов ОЗУ и состояний процессов.
Новые инструменты для работы с данными
Чтобы вы могли заранее выявлять и устранять проблемы, а также оптимизировать приложения и игры в соответствии с новыми порогами соответствия, мы уже начали добавлять в Play Console новые инструменты.
- Подробные сведения о новых показателях динамической памяти. Отслеживайте общее использование динамической памяти (анонимный RSS и файл подкачки), а также использование памяти битовыми картами в Android Vitals. Вы можете детализировать данные по различным процентилям и сегментам ОЗУ, чтобы точно определить, где происходит раздувание памяти.
Новые показатели памяти в Android Vitals для выявления и устранения проблем с ее переполнением
- Отслеживание сбоев из-за нехватки памяти. Мы добавили новый фильтр для сбоев и ошибок ANR, чтобы вы могли легко определить, когда ОС завершила работу вашего приложения из-за нехватки памяти на устройстве.
- Анализируйте статистику оптимизации DEX-кода. Для каждого нового набора App Bundle, загруженного в Play Console, теперь доступна подробная статистика оптимизации. Если ваш инструмент сжатия передает метаданные оптимизации, вы можете легко оценить эффективность кода и определить, что можно улучшить.
- Получайте оповещения о производительности. Если показатели вашего приложения или игры превысят новые пороги соответствия, мы покажем предупреждение на обзорной странице Android Vitals. Кроме того, в Android Vitals вы будете получать оповещения о неоптимизированных битовых картах, ограниченной оптимизации DEX и ограниченном использовании разделенных наборов App Bundle. Это поможет вам повысить производительность и сэкономить память.
В этом году мы добавим дополнительные инструменты диагностики, в том числе показатели времени, которое приложение проводит в каждом состоянии, и подробные сведения об ограничителе памяти Android, который не позволяет отдельным приложениям использовать слишком много памяти устройства. Мы постоянно инвестируем в эти улучшения, чтобы вы могли оптимизировать свое присутствие в интернете и повышать удобство для пользователей.
График применения
С февраля 2027 года приложения и игры должны соответствовать порогам соответствия для использования памяти анонимным RSS, файлом подкачки и битовыми картами, а также оптимизации кода DEX. Как и в случае с существующими показателями Android Vitals, превышение пороговых значений указывает на ухудшение удобства использования приложения и принудительное закрытие приложения для Android на устройстве.
Если приложение или игра не соответствует этим пороговым значениям, то может реже показываться в Google Play, а у вас возникнут проблемы с его публикацией. Дополнительная информация будет предоставлена позже в этом году.
Экосистема Android продолжает развиваться, и мы лучше понимаем ваши уникальные сценарии использования. В будущем пороговые значения могут измениться. Если требования изменятся, мы предоставим вам достаточно времени, чтобы вы могли привести свои приложения в соответствие с ними.
Безопасный и удобный перенос данных на новое устройство
При переходе на новое устройство пользователи должны иметь возможность легко и безопасно перенести свои приложения. Чтобы сделать процесс знакомства с приложением более удобным, мы вводим требование для разработчиков приложений, которое позволит ускорить и обезопасить вход в аккаунт при переносе данных на новое устройство.
Стандарт входа без нажатий требует, чтобы в любом приложении, где реализован вход в аккаунт (как обязательный, так и необязательный), автоматически восстанавливался статус входа пользователя, когда он переходит с одного устройства Android на другое. Для этого используется Android Restore Credentials API. Благодаря этому API, когда пользователь впервые открывает ваше приложение на новом устройстве Android, он мгновенно распознается и безопасно входит в систему без дополнительных действий.
С апреля 2027 года приложения должны будут соответствовать требованиям к входу без нажатий, чтобы их разработчики могли пользоваться всеми возможностями публикации и оптимальной видимостью в Google Play.
Пока требование о входе без нажатий не распространяется на игры, но в 2027 году мы предоставим специальные рекомендации и индивидуальные решения для сложных сценариев аутентификации в играх. Если игра поддерживает вход только в один аккаунт, настоятельно рекомендуем использовать Restore Credentials API. Дополнительную информацию можно найти в Справочном центре.
Составьте план: изучите требования Google Play
Чтобы подготовиться к предстоящим срокам, ознакомьтесь с подробной информацией о каждом требовании:
- Как уменьшить использование памяти приложением и оптимизировать код
- Безопасный и удобный перенос данных на новое устройство
Соблюдение этих требований к качеству в Google Play – важный шаг к тому, чтобы сделать приложения быстрее и надежнее для пользователей. Мы ценим наше сотрудничество и все, что вы делаете для развития сообщества Android.
-
Новости о продуктахСегодня на Саммите для разработчиков Android мы объявляем о широкой доступности многих инструментов и API, которые помогут вам преодолевать повседневные трудности и дадут больше гибкости при создании отличных приложений для Android.
Matthew McCullough • Время на чтение: 4 минуты -
Новости о продуктахAndroid Studio Rabbit 2 теперь стабильна и готова к использованию в рабочей среде. В этом выпуске представлены ключевые функции, которые помогут вам в разработке, например Bring Your Own Agent, новые функции XR Emulator, обновление LeakCanary, новый инструмент управления навыками агента, код-ревью с помощью ИИ и многое другое.
Matthew Warner • Время на чтение: 3 минуты -
Новости о продуктахПриложения, предназначенные для предстоящего выпуска Android, больше не смогут напрямую записывать данные в контакты с помощью разрешения WRITE_CONTACTS.
Roxanna Aliabadi Walker • Время на чтение: 6 минут
Получайте еженедельную рассылку с последними новостями о разработке для Android.