Monzo повышает показатели прои... Заметка

Monzo повышает показатели производительности до 35% с помощью простого обновления R8

Бен Вайс, старший инженер по развитию разработчиков, поделился историей успеха Monzo в улучшении производительности приложений. Monzo, британский цифровой банк, определил время запуска приложения как критическую проблему, требующую внимания. Они обнаружили, что включение полных оптимизаций R8 значительно снизило частоту сбоев "Приложение не отвечает" на 35%. Это значительное улучшение было достигнуто одним простым изменением.Основное изменение Monzo заключалось в переходе с файла proguard-android.txt по умолчанию на proguard-android-optimize.txt. Это изменение удалило инструкцию -dontoptimize, позволив R8 выполнять свои предполагаемые оптимизации. В результате Monzo наблюдал повышение надежности запуска, улучшение всех типов запусков: холодных, теплых и горячих. Скорость запуска также заметно улучшилась, сократившись в P50 и P90. Кроме того, размер приложения уменьшился на 9%.После включения оптимизаций R8 Monzo пересмотрел и доработал свои файлы конфигурации Keep. Они удалили ненужные правила, позволив R8 оптимизировать большую часть кодовой базы. Для дальнейшего улучшения пользовательского опыта Monzo внедрил Baseline Profiles. Это было направлено на оптимизацию производительности прокрутки и рендеринга для их основной ленты, типичного пользовательского пути. Результат был существенным: производительность прокрутки в P90 и P95 стала значительно быстрее.Monzo интегрировал генерацию Baseline Profile в свой процесс выпуска, обеспечивая постоянное улучшение. Вайс рекомендует другим командам следить за современными рекомендациями по разработке Android. Он советует регулярно пересматривать текущие практики в соответствии с последними рекомендациями Google по производительности приложений. Правильное документирование правил Keep оказалось важным для Monzo, позволив им выявлять и безопасно удалять устаревшие правила.