Google Play:iHeartRadio 使用 Android 架構(gòu)組件創(chuàng)建更清晰、更精簡(jiǎn)的代碼庫

來源: Google Developers
作者:Google Developers
時(shí)間:2021-01-22
16556
iHeartRadio是一家總部位于紐約市的公司,該公司在一個(gè)應(yīng)用中提供無限量的音樂和成千上萬的電臺(tái)。該公司的業(yè)務(wù)包括無線電廣播、線上服務(wù)、移動(dòng)、數(shù)字和社交媒體、現(xiàn)場(chǎng)音樂會(huì)和活動(dòng)、整合、音樂研究服務(wù)和獨(dú)立媒體代理。

iHeartRadio是一家總部位于紐約市的公司,該公司在一個(gè)應(yīng)用中提供無限量的音樂和成千上萬的電臺(tái)。該公司的業(yè)務(wù)包括無線電廣播、線上服務(wù)、移動(dòng)、數(shù)字和社交媒體、現(xiàn)場(chǎng)音樂會(huì)和活動(dòng)、整合、音樂研究服務(wù)和獨(dú)立媒體代理。

1.jpg

自2008年推出以來,該應(yīng)用的全球下載量已超過了10億次。不過,到2017年底,該應(yīng)用的代碼庫已經(jīng)現(xiàn)出老化態(tài)勢(shì),并且在管理代碼和集成新功能方面也變得捉襟見肘。

策略

iHeartRadio在開始升級(jí)代碼時(shí)選擇了Android架構(gòu)組件。簡(jiǎn)單易用的Room持久性庫可以處理異步查詢等任務(wù)并支持RxJava(iHeartRadio在其代碼中廣泛使用此功能),因而得到了iHeartRadio工程師的青睞。

他們還采用了生命周期感知型組件,這些組件可根據(jù)其他組件的生命周期狀態(tài)變化來執(zhí)行相應(yīng)的響應(yīng)操作。iHeartRadio工程師發(fā)現(xiàn)這些組件對(duì)于縮小注入Activity和Fragment的依賴性非常有用。此外,該公司使用ViewModel創(chuàng)建了原型,它允許數(shù)據(jù)在屏幕旋轉(zhuǎn)等配置更改后繼續(xù)存在。

結(jié)果

iHeartRadio發(fā)現(xiàn)可以輕松遷移到架構(gòu)組件并使用這些庫來測(cè)試集成的效果。Room和其他組件需要使用的樣板代碼量很少,這意味著應(yīng)用的代碼目前在顯著縮短。架構(gòu)組件還減少了內(nèi)存泄漏。另一個(gè)好處是加入團(tuán)隊(duì)的新開發(fā)者可以迅速上手,開始編碼工作。

總的來說,采用架構(gòu)組件后,iHeartRadio得以創(chuàng)建了一個(gè)更清晰、更精簡(jiǎn)的代碼庫,有助于防止開發(fā)者出錯(cuò)。這對(duì)任何應(yīng)用來說都是一種助益,特別是對(duì)于向全球受眾群體提供一體化數(shù)字音頻的應(yīng)用。

使用入門

作為Android Jetpack的一部分,Android架構(gòu)組件面向所有開發(fā)者開放。Android架構(gòu)組件使用入門。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Google Developers,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家