Google Play:Tinder 利用 Android 架構組件解決了社交約會應用的難題

來源: Google Developers
作者:Google Developers
時間:2021-01-21
18032
Tinder是一款風靡全球的交友應用。它以改變人們的約會方式而聞名,用戶只需向右滑動即可與他人建立聯(lián)系和聊天。每天有超過2600萬用戶在Tinder上配對成為好友,自2012年正式推出以來,在Tinder上成功配對的用戶超過200億。

Tinder是一款風靡全球的交友應用。它以改變人們的約會方式而聞名,用戶只需向右滑動即可與他人建立聯(lián)系和聊天。每天有超過2600萬用戶在Tinder上配對成為好友,自2012年正式推出以來,在Tinder上成功配對的用戶超過200億。

tinder-logo.png

該公司需要根據(jù)用戶需求快速擴展此應用,但他們的數(shù)據(jù)庫實施從早期開始就成為遺留問題,這使得擴展工作變得越來越復雜。此外,他們還擁有一個包含大量視圖的架構來降低生命周期的復雜性,但需要知道哪些生命周期事件是特定于相應Activity的事件。他們缺少一致的框架來處理任務(例如將Cursor編組到網(wǎng)域對象中,執(zhí)行數(shù)據(jù)庫遷移或以一致方式執(zhí)行查詢)。

策略

Tinder利用Android架構組件來尋求代碼升級解決方案。他們使用Lifecycle讓View觀察其宿主Activity的生命周期,同時使用LifecycleObserver簡化分散式插件架構并防止Presenter、Activity和View出現(xiàn)膨脹。Room持久性庫提供了一種用于定義、管理和查詢其本地數(shù)據(jù)庫的統(tǒng)包方法。

Tinder開發(fā)團隊僅在兩周內就能夠實現(xiàn)LifecycleObserver和插件架構,而針對內部Ads SDK無縫實現(xiàn)Room僅用了兩天時間。

“我們不再需要投入大量時間在插件或視圖內管理Activity生命周期?!盩inder的Android主管Andy Lawton說?!癛oom經(jīng)過精心設計,讓我們的持久性層易于實施。將Room用于內部Ads SDK后,在前期開發(fā)中就可能節(jié)省了一周的時間?!?/span>

結果

Tinder對其Ads SDK的結果非常滿意,因此他們決定將整個數(shù)據(jù)庫層遷移到Room。測試很簡單,Room為防范忘記取消注冊而提供的保護措施減少了內存泄漏。此外,Android架構組件還有助于減少內存占用。

“Android架構組件提供的解決方法可以解決開發(fā)者在各種不同開發(fā)規(guī)模下面臨的諸多難題。”Lawton說?!巴ㄟ^使用生命周期感知型組件,Tinder成功地提高了開發(fā)者的工作效率、改進了可測試性和模塊化設計,同時有助于實現(xiàn)視圖優(yōu)先的架構。采用Room后,便無需使用管理SQLite的其他解決方案,只需通過常規(guī)的配置即可實現(xiàn)數(shù)據(jù)庫管理和查詢?!?/span>

指標

通過LifecycleObserver/插件架構從MainActivity中移除了500多行代碼

使用入門

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

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