通过使用 Android 架构组件,BeautyPlus 应用的可读性提高了 15%

BeautyPlus 于 2013 年推出,是全球最受欢迎的照片编辑应用之一,主要面向化妆设计师、摄影师和普通手机摄影者。每个月,大约有 5000 万用户使用该应用编辑自拍照、照片和视频并为其添加滤镜效果。该应用由中国厦门的美图科技有限公司开发,特别适合自拍组合,可以改善照片中人物的肤色、让笑容更亮眼、瘦身和消除瑕疵等,所有这些都只需通过几项简单的拖动和点按操作即可完成。

由于该公司需要频繁对应用进行更新,因此需要大量开发者参与其中。但是,随着时间的推移,底层架构的一致性和清晰度逐渐降低。快速发展的团队需要一种方法来帮助所有参与协作的开发者掌握最新动态,同时还要简化生命周期管理流程,并解决与刷新异步界面相关的问题。

图 1:BeautyPlus 中的示例照片编辑会话

策略

Android 架构组件为开发者提供了所需的工具,开发者借助这些工具确保应用代码简洁、稳定且便于新工程师上手时理解其中的含义。

在众多的组件中,BeautyPlus 开发者最开始使用的组件是 ViewModel,它可以通过 activity 和 fragment 更新让逻辑处理变得更轻松。ViewModel 旨在以注重生命周期的方式存储和管理界面相关的数据,遵循其他应用组件的生命周期。

他们还利用了 LiveData 组件,这是一种可观察的数据存储器类,也是生命周期感知型组件,可帮助确保界面与数据状态相匹配。该团队发现这些 Android 架构组件易于使用且不会出现任何问题,并且这些优势很快就显现出来。

成果

得益于 Android 架构组件,BeautyPlus 应用的代码立即精简了 5%,可读性也提高了 15%。该架构也更加统一,节省了开发者的时间和精力,并使新开发者更轻松地快速上手。此外,内存泄漏更少、刷新数据变得更轻松,并且开发者无需再担心更新异步界面。

“当我们针对 BeautyPlus 使用 ViewModel 和 LiveData 时,代码变得更加简洁、可读性更高,并且代码的架构也是统一的。”高级开发经理 Zheng Songyin 说道。“应用生命周期的运行得到了安全管理,稳定性也得到了提升。”

开始使用

Android 架构组件面向所有开发者开放。开始使用 Android 架构组件