A Spotify nyílt forráskódú Ruler eszközt adott, amely segít az alkalmazásfejlesztőknek az alkalmazásméretek elemzésében. Ez egy egyszerű módja a nagy függőségek azonosításának.
Amikor alkalmazásokat telepít a Google Play Áruházból, a felhasználók általában a kisebb alkalmazásméreteket részesítik előnyben. Ennek oka lehet a korlátozott tárhely vagy a korlátozott letöltési sávszélesség, vagy egyes felhasználók a gyorsabb telepítést részesítik előnyben. Ennek ellenére a Spotify rendelkezik egy "Ruler" nevű eszközzel, amellyel méri és elemzi Android-alkalmazásai méretét, hogy kitalálja, hogyan csökkentheti őket. A vállalat most nyílt forráskódúvá teszi ezt az eszközt, és ingyenesen használható minden fejlesztő számára, aki használni akarja.
A Google Play Áruházban közzétett alkalmazásokat jelenleg általában Android App Bundle csomag formájában töltik fel. Amikor egy felhasználó alkalmazás telepítését kéri, a Google Play Áruház létrehoz egy optimalizált APK-t az alkalmazást telepítő végfelhasználó számára. A vonalzó ezt a folyamatot utánozza, hogy olyan APK-t hozzon létre, amely pontosan megfelel annak, amit a végfelhasználónak meg kell kapnia. Ezután a Ruler minden fájlhoz két mérést rögzít:
- Letöltés mérete: A hálózaton átvitt bájtok, amikor a felhasználó letölti az alkalmazást
- Telepítési méret: Az alkalmazás telepítése után egy fájl bájtja az eszközön
A Ruler ezután átvizsgálhat egy alkalmazást, és megkeresheti a benne lévő fájlok listáját és azok méretét. Ezenkívül megtalálja az összes Gradle modult és függőséget, amely hozzájárul az alkalmazás méretéhez. Ezen keresztül egy második lista jön létre az összes komponensről és azok tartalmáról. A két lista kombinálása lehetővé teszi az alkalmazás összes fájljának forrás szerinti csoportosítását, és meghatározhatja, hogy az egyes modulok és függőségek mennyiben járulnak hozzá az alkalmazás teljes méretéhez. Vannak más módszerek is, és érdemes megnézni a cégét mérnöki blogbejegyzés többet tanulni.
A Spotify azt állítja, hogy a fő Spotify alkalmazás több mint 1000 Gradle modult és több száz harmadik féltől származó függőséget tartalmaz, és hogy a Ruler az elmúlt hat hónapban valamivel több mint 9%-kal segítette csökkenteni az alkalmazás méretét. A vállalat azt állítja, hogy naponta egyszer exportálja az alkalmazásméret-adatokat a legújabb fő build használatával. Ezeket az adatokat felhasználhatja a múltbeli trendek nyomon követésére, mind az alkalmazás egészére, mind az egyes modulokra és harmadik féltől származó függőségekre vonatkozóan. Minden lehívási kérelem alkalmazásméretre gyakorolt hatását is elemzik, hogy korai visszajelzést kaphassanak a fejlesztők.
A Ruler teljes egészében Kotlin nyelven íródott, és használatához mindössze annyit kell tennie, hogy alkalmazza a bővítményt Android-projektjére, és futtasson egyetlen Gradle-feladatot. Megnézheti a Ruler's-t GitHub hogy megtanulja, hogyan integrálhatja a projektjébe.