BeautyPlus于2013年推出,是全球最受歡迎的照片編輯應(yīng)用之一,主要面向化妝設(shè)計師、攝影師和普通手機攝影者。每個月,大約有5000萬用戶使用該應(yīng)用編輯自拍照、照片和視頻并為其添加濾鏡效果。該應(yīng)用由中國廈門的美圖科技有限公司開發(fā),特別適合自拍組合,可以改善照片中人物的膚色、讓笑容更亮眼、瘦身和消除瑕疵等,所有這些都只需通過幾項簡單的拖動和點按操作即可完成。
由于該公司需要頻繁對應(yīng)用進行更新,因此需要大量開發(fā)者參與其中。但是,隨著時間的推移,底層架構(gòu)的一致性和清晰度逐漸降低??焖侔l(fā)展的團隊需要一種方法來幫助所有參與協(xié)作的開發(fā)者掌握最新動態(tài),同時還要簡化生命周期管理流程,并解決與刷新異步界面相關(guān)的問題。
圖1:BeautyPlus中的示例照片編輯會話
策略
Android架構(gòu)組件為開發(fā)者提供了所需的工具,開發(fā)者借助這些工具確保應(yīng)用代碼簡潔、穩(wěn)定且便于新工程師上手時理解其中的含義。
在眾多的組件中,BeautyPlus開發(fā)者最開始使用的組件是ViewModel,它可以通過Activity和Fragment更新讓邏輯處理變得更輕松。ViewModel旨在以注重生命周期的方式存儲和管理界面相關(guān)的數(shù)據(jù),對其他應(yīng)用組件的生命周期給予必要的關(guān)注。
他們還利用了LiveData組件,這是一種可觀察的數(shù)據(jù)存儲器類,也是生命周期感知型組件,可幫助確保界面與數(shù)據(jù)狀態(tài)相匹配。該團隊發(fā)現(xiàn)這些Android架構(gòu)組件易于使用且不會出現(xiàn)任何問題,而且這些優(yōu)勢輕而易舉就能體會到。
結(jié)果
得益于Android架構(gòu)組件,BeautyPlus應(yīng)用的代碼立即精簡了5%,可讀性也提高了15%。該架構(gòu)也更加統(tǒng)一,節(jié)省了開發(fā)者的時間和精力,還使新開發(fā)者能更輕松地快速上手。此外,內(nèi)存泄漏更少、刷新數(shù)據(jù)變得更輕松,并且開發(fā)者無需再擔(dān)心更新異步界面。
“當(dāng)我們針對BeautyPlus使用ViewModel和LiveData時,代碼變得更加簡潔、可讀性更高,而且代碼的架構(gòu)也是統(tǒng)一的?!备呒夐_發(fā)經(jīng)理Zheng Songyin說,“應(yīng)用生命周期的操作流程得到安全的管理,穩(wěn)定性也得以提升。”
使用入門
Android架構(gòu)組件面向所有開發(fā)者開放。開始使用Android架構(gòu)組件。