Мероприятия и программы
Полностью оптимизировано: Завершение недели, посвященной анализу производительности.
3 минуты чтения

На прошлой неделе мы подробно рассказали о лучших практиках и рекомендациях, которые помогут сделать Android-приложения быстрее, компактнее и стабильнее. От базовых возможностей оптимизатора R8 и оптимизации на основе профилирования до повышения производительности с помощью Jetpack Compose и нового руководства по улучшению производительности вашего приложения — мы рассмотрели инструменты, не требующие больших усилий, но оказывающие значительное влияние на создание высокопроизводительного приложения.
Этот пост послужит вам указателем и дорожной картой для возвращения к этим ресурсам всякий раз, когда вам потребуется оптимизация. Вот пять ключевых выводов из нашего совместного пути.
Используйте оптимизатор R8 для ускорения работы вашего приложения.
Самое эффективное и не требующее больших усилий изменение, которое вы можете внести, — это полное включение оптимизатора R8 . Он не просто уменьшает размер приложения; он выполняет глубокую оптимизацию всей программы, коренным образом переписывая ваш код для повышения эффективности. Пересмотрите свои правила сохранения и верните R8 в свои инженерные задачи.
Нашаобновленная и расширенная документация по оптимизатору R8 готова вам помочь.
На Reddit было отмечено, что после включения полного режима R8 холодный запуск стал на 40% быстрее , а количество ошибок ANR уменьшилось на 30% .
Полный отчет о случае вы можете прочитать в нашем блоге .

Инженеры Disney+ инвестируют в производительность приложения и оптимизируют пользовательский опыт. Иногда даже, казалось бы, небольшие изменения могут оказать огромное влияние. При проверке конфигурации R8 команда обнаружила, что использовался флаг -dontoptimize . После включения оптимизации путем удаления этого флага команда Disney+ заметила значительное улучшение производительности своего приложения.

Поэтому в следующий раз, когда вас спросят, что можно сделать для улучшения производительности приложения, просто дайте им ссылку на этот пост.
Подробнее читайте в нашем блоге «Первый день»: Используйте R8 для уменьшения размера, оптимизации и ускорения разработки вашего приложения.
Помогаем вам добиться лучших результатов
Базовые профили эффективно устраняют необходимость в компиляции «на лету», улучшая скорость запуска, прокрутку, анимацию и общую производительность рендеринга. Профили запуска делают запуск приложения еще более легким, обеспечивая интеллектуальный порядок в файлах classes.dex вашего приложения.
Чтобы узнать больше о том, насколько важны базовые профили для производительности приложений, прочитайте блог инженеров Meta, где они рассказали, как базовые профили улучшили различные критически важные показатели производительности до 40% в их приложениях.
В Jetpack Compose 1.10 мы продолжаем повышать производительность Jetpack Compose. Такие функции, как возможность приостановки создания и настраиваемое окно кэширования, имеют решающее значение для обеспечения отсутствия рывков прокрутки при работе со сложными элементами списков. Посмотрите последний выпуск #TheAndroidShow, где мы объясняем это подробнее.
Подробнее читайте в нашем блоге за среду: Более детальные соображения по производительности.
Измерить производительность очень просто: 1, 2, 3
Невозможно управлять тем, что не измеряешь. Наше руководство по выравниванию производительности разбивает процесс измерения на пять этапов, начиная с легкодоступных данных и заканчивая продвинутыми локальными инструментами.
Начиная с уровня 1 , мы научим вас использовать доступные данные из Android Vitals , которые предоставляют информацию о сбоях ANR, ошибках и чрезмерном расходе заряда батареи.
Мы также научим вас повышать свой уровень. Например, мы продемонстрируем, как достичь 3-го уровня с помощью локального тестирования производительности. Используйте Jetpack Macrobenchmark и новый API UiAutomator 2.4 для точного измерения и проверки любых изменений в производительности вашего приложения.
Подробнее читайте в нашем блоге за четверг: [Ссылка на блог за четверг: Руководство по повышению эффективности вашего пути к успеху]
Функция отладки производительности получила обновление.
Расширенная оптимизация не должна приводить к нечитаемым отчетам о сбоях. Новые функции разработаны для того, чтобы помочь вам уверенно отлаживать R8 и фоновые процессы:
Автоматическая трассировка Logcat
Начиная с Android Studio Narwhal, трассировки стека могут автоматически деобфусцироваться в окне Logcat. Таким образом, вы можете немедленно увидеть и отладить любые сбои в сборке, готовой к использованию в продакшене.
Правила узкой крепости
Во вторник мы разъяснили суть правил Keep Rules, необходимых для устранения сбоев во время выполнения, подчеркнув важность написания конкретных правил на уровне отдельных элементов, а не использования слишком общих символов-заменителей. И поскольку это важная тема, мы также подготовили для вас видео.
А благодаря новой проверке синтаксиса для широких правил Keep Rules, обновление Android Studio Otter 3 Feature Drop также позаботится об этом.

Мы также выпустили новые рекомендации по тестированию и устранению неполадок в вашей конфигурации R8, чтобы помочь вам уверенно и правильно настроить систему.
Подробнее читайте в нашем блоге за вторник: Настройка и устранение неполадок правил сохранения R8.
Предварительная работа
Мы поделились рекомендациями по отладке распространенных ситуаций, с которыми вы можете столкнуться при планировании задач с помощью WorkManager.
Инспектор фоновых задач предоставляет визуальное представление и графическое отображение задач WorkManager, помогая отлаживать причины задержек или сбоев запланированных работ. А на нашей обновленной странице документации по фоновым задачам выделены API, оптимизированные для конкретных сценариев использования, что помогает добиться более надежного выполнения.
Подробнее читайте в нашем блоге за среду: Вопросы, касающиеся оценки эффективности работы при проверке биографических данных.
Оптимизация производительности — это непрерывный процесс.
Если вы успешно справились с нашей задачей по включению полнофункционального режима R8 на этой неделе, ваш следующий шаг — интеграция показателей производительности в план развития продукта с помощью оценки производительности приложения (App Performance Score) . Эта стандартизированная система поможет вам определить наиболее эффективные действия для постоянного улучшения.
Мы завершили неделю сессией вопросов и ответов #AskAndroid Live , где инженеры ответили на ваши самые сложные вопросы о R8, оптимизации на основе профилирования и многом другом. Если вы пропустили, найдите запись!
Thank you for joining us! Now, get building and keep that momentum going.
Продолжить чтение

Мероприятия и программы
Начнём с самого эффективного и не требующего больших усилий изменения, которое вы можете внести для улучшения производительности вашего приложения: включения оптимизатора R8 в полнофункциональном режиме.
Ben Weiss • 5 мин чтения

Мероприятия и программы
В сентябре прошлого года мы поделились своим видением будущего Google Play Games, основанным на ключевом убеждении: лучший способ обеспечить успех вашей игры — это предоставить игрокам первоклассный опыт.
Maru Ahues Bouza • Чтение: 3 минуты

Мероприятия и программы
Google I/O возвращается! Присоединяйтесь к нам онлайн, чтобы узнать о наших последних достижениях в области искусственного интеллекта и обновлениях продуктов компании, от Gemini до Android, Chrome, Cloud и многого другого.
1 мин чтения
Будьте в курсе событий
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.


