Spotify отвори своя инструмент Ruler, за да помогне на разработчиците на приложения да анализират размерите на своите приложения. Това е лесен начин за идентифициране на големи зависимости.
Когато инсталират приложения в Google Play Store, потребителите обикновено предпочитат по-малки размери на приложенията. Това може да се дължи на ограничено пространство за съхранение или ограничена честотна лента за изтегляне, или някои потребители дори просто предпочитат по-бърза инсталация. Въпреки това, Spotify има инструмент, наречен "Ruler", който използва за измерване и анализиране на размера на своите приложения за Android с цел да разбере как да ги намали. Сега компанията прави този инструмент с отворен код и безплатен за използване от всеки разработчик, който иска да го използва.
Приложенията, публикувани в Google Play Store, сега обикновено се качват под формата на Android App Bundle. Когато потребител поиска приложение за инсталиране, Google Play Store след това генерира оптимизиран APK за крайния потребител, който инсталира приложението. Ruler имитира този процес, за да създаде APK, точен за това, което крайният потребител трябва да получи. След това за всеки файл Ruler улавя две измервания:
- Размер за изтегляне: Байтове, прехвърлени по мрежата, когато потребителят изтегли приложението
- Инсталационен размер: Байтове, които файлът заема на устройството, след като приложението е инсталирано
След това Ruler може да сканира чрез приложение и да намери списъка с файлове вътре и техните размери. Може също така да намери всички модули и зависимости на Gradle, които допринасят за размера на приложението. Чрез това се създава втори списък с всички компоненти и тяхното съдържание. Комбинирането на двата списъка дава възможност да се групират всички файлове на приложението по техния източник и да се определи колко всеки модул и зависимост допринася за общия размер на приложението. Има и други включени методи и си струва да проверите тези на компанията публикация в инженерен блог да научиш повече.
Spotify казва, че основното приложение на Spotify има над 1000 модула Gradle и стотици зависимости от трети страни и че Ruler е помогнал за намаляване на размера на приложението с малко над 9% през последните шест месеца. Компанията казва, че експортира данни за размера на приложението веднъж на ден, като използва най-новата основна компилация. Той може да използва тези данни, за да проследява исторически тенденции, както на приложението като цяло, така и на отделни модули и зависимости от трети страни. Влиянието на размера на приложението на всяка заявка за изтегляне също се анализира, така че на разработчиците да може да бъде дадена ранна обратна връзка.
Ruler е изцяло написан на Kotlin и за да го използвате, всичко, което трябва да направите, е да приложите приставката към вашия Android проект и да изпълните една задача на Gradle. Можете да проверите Ruler's GitHub за да научите как да го интегрирате във вашия проект.