Spotify ir izveidojis atvērtā koda rīku Ruler, lai palīdzētu lietotņu izstrādātājiem analizēt savu lietotņu izmērus. Tas ir vienkāršs veids, kā noteikt lielas atkarības.
Instalējot lietotnes Google Play veikalā, lietotāji parasti dod priekšroku mazākiem lietotņu izmēriem. Iemesls tam var būt ierobežota krātuves vieta vai ierobežots lejupielādes joslas platums, vai daži lietotāji pat dod priekšroku ātrākai instalēšanai. Neskatoties uz to, Spotify ir rīks ar nosaukumu "Ruler", ko tas izmanto, lai izmērītu un analizētu savu Android lietotņu lielumu, lai noskaidrotu, kā tās samazināt. Tagad uzņēmums padara šo rīku par atvērtā koda un bezmaksas izmantošanu ikvienam izstrādātājam, kurš vēlas to izmantot.
Google Play veikalā publicētās lietotnes tagad parasti tiek augšupielādētas Android App Bundle pakotnes veidā. Kad lietotājs pieprasa lietotnes instalēšanu, Google Play veikals ģenerē optimizētu APK failu galalietotājam, kurš instalē lietotni. Lineāls atdarina šo procesu, lai izveidotu APK, kas ir precīzs tam, kas jāsaņem galalietotājam. Katram failam Ruler fiksē divus mērījumus:
- Lejupielādes lielums: Tīklā pārsūtītie baiti, kad lietotājs lejupielādē lietotni
- Instalācijas izmērs: Pēc lietotnes instalēšanas fails ierīcē aizņem baitus
Pēc tam lineāls var skenēt lietotni un atrast tajā esošo failu sarakstu un to izmērus. Tajā var atrast arī visus Gradle moduļus un atkarības, kas ietekmē lietotnes lielumu. Ar to tiek izveidots otrs visu komponentu un to satura saraksts. Apvienojot abus sarakstus, ir iespējams grupēt visus lietotnes failus pēc to avota un noteikt, cik katrs modulis un atkarība ietekmē kopējo lietotnes lielumu. Ir arī citas metodes, un ir vērts pārbaudīt uzņēmuma metodes inženierijas emuāra ieraksts lai uzzinātu vairāk.
Spotify saka, ka galvenajai Spotify lietotnei ir vairāk nekā 1000 Gradle moduļu un simtiem trešo pušu atkarību, un Ruler pēdējo sešu mēnešu laikā ir palīdzējis samazināt lietotnes izmēru par nedaudz vairāk nekā 9%. Uzņēmums saka, ka tas eksportē lietotņu lieluma datus reizi dienā, izmantojot jaunāko galveno versiju. Tā var izmantot šos datus, lai izsekotu vēsturiskajām tendencēm gan lietotnē kopumā, gan atsevišķiem moduļiem un trešo pušu atkarībām. Tiek analizēta arī katra piesaistes pieprasījuma ietekme uz lietotnes lielumu, lai izstrādātājiem varētu sniegt agrīnas atsauksmes.
Lineāls ir pilnībā rakstīts Kotlinā, un, lai to izmantotu, viss, kas jums jādara, ir jāpielieto spraudnis savam Android projektam un jāpalaiž viens Gradle uzdevums. Jūs varat apskatīt Ruler's GitHub lai uzzinātu, kā to integrēt savā projektā.