627просмотров
3 декабря 2025 г.
📷 ФотоScore: 690
Baseline Profiles 🤜🏻 vs 🤛🏻 Baseline Profiles + Startup Profiles Последние недели я занимался задачами автоматизации релиза приложения. В том числе генерацией Baseline Profiles на CI И если про Baseline Profiles многие знают, то появление еще одних профилей стало для меня неожиданностью 😳 Речь пойдет про Startup Profiles 🚀 Их цель в том, чтобы распределить методы, необходимые для запуска приложения как можно раньше в первые dex файлы Документация заверяет, что с ними запуск приложения можно ускорить ещё на 15-30%, чем если бы были использованы только Baseline Profiles 😮
With Startup Profiles, your app startup is usually between 15% and 30% faster than with Baseline Profiles alone
Источник Ну а раз нам говорят, что что-то можно улучшить и ускорить, то мы сразу это берём и затаскиваем 👍 Создать Startup Profiles можно, просто добавив параметр includeInStartupProfile в метод для генерации Baseline Profiles baselineProfileRule.collect( // Генерация Startup вместе с Baseline includeInStartupProfile = true
) И применить их через baselineProfile конфигурацию в app/build.gradle baselineProfile { dexLayoutOptimization = true } P.S Пока на личном устройстве у меня не нашлось особых различий в времени старта, но возможно что-то обнаружим уже на реальных пользователях из стора. И если появятся хорошие результаты, то расскажу про них 🆗 Есть ли у вас опыт в использовании Startup Profiles? Изменилось ли время старта после их внедрения? Расскажите в комментариях 🙄