Android Developers Blog на русском
Подписаться
Tinder сокращает время холодного запуска приложения на 47% с помощью нового R8 Configuration Analyzer
Большая кодовая база Android-приложения Tinder столкнулась со значительными проблемами оптимизации: примерно 70% кода было неоптимизировано, а также имелось множество dex-файлов. Правила сохранения (keep rules), включенные R8, непреднамеренно блокировали оптимизацию без четкого определения виновников. Для решения проблем с медленным запуском и предполагаемыми ошибками ANR (Application Not Responding) Tinder внедрил R8 Configuration Analyzer. Этот инструмент помог им выявить и устранить непреднамеренные блокираторы оптимизации, что привело к немедленным улучшениям. В частности, Tinder сократил время холодного запуска приложения на 47%, уменьшил размер загрузки почти на 29% и снизил количество воспринимаемых пользователями ANR на 28%. Configuration Analyzer определяет области для улучшения, отслеживая показатели сокращения кода (shrinking), оптимизации и обфускации. Он выявляет широкие, избыточные или устаревшие правила сохранения, в том числе из внешних библиотек. Tinder обнаружил особенно широкое, неограниченное правило сохранения во внутренней библиотеке, которое препятствовало значительной оптимизации. Уточнение этого правила позволило добиться существенного повышения производительности, увеличив показатели R8 с 28% до 50%. Эти улучшения привели к уменьшению количества DEX-файлов, что положительно сказалось на вовлеченности пользователей, особенно на устройствах с ограниченными ресурсами. С тех пор Tinder интегрировал мониторинг оптимизации в свой конвейер CI/CD, чтобы предотвратить будущие регрессии.