BeautyPlus 应用借助 Android Architecture Components 将可读性提升 15%

应用于 2013 年推出,BeautyPlus 是全球最受欢迎的图片编辑应用之一,深受化妆师、摄影师和普通手机拍摄者的喜爱。每月约有 5000 万人使用此应用来编辑自拍、照片和视频,并添加滤镜。该应用由中国厦门美图科技有限公司开发,(在自拍爱好者中尤其受欢迎)只需简单拖动和点击几下,即可完成从修正肤色、提亮笑容到瘦脸、修饰瑕疵等各种操作。

由于该公司频繁更新应用,因此需要大量开发者。但随着时间的推移,底层架构逐渐缺乏统一性和清晰度。这支快速发展的团队需要一种方法,既能让协作的开发者保持同步,又能简化生命周期管理,并解决与刷新异步 UI 相关的问题。

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

他们的做法

Android Architecture Components 提供了开发者所需的工具,可使应用代码简洁、稳定,并让新入职的工程师更易于阅读。

BeautyPlus 开发者开始使用的组件之一是 ViewModel,它支持通过 Activity 和 Fragment 更新更轻松地处理逻辑。ViewModel 旨在以生命周期感知的方式存储和管理与界面相关的数据,同时尊重其他应用组件的生命周期。

他们还利用了 LiveData 组件,这是一个可观察的数据持有者类,同样具有生命周期感知能力,有助于确保界面与数据状态保持一致。该团队发现这些 Android Architecture Components 易于使用,没有遇到任何问题,而且其优势很快就显现出来。

结果

借助 Android Architecture Components,BeautyPlus 应用的代码即刻精简了 5%,可读性提高了 15%。架构也变得更加统一,节省了开发者的时间和精力,并使新开发者更容易快速上手。此外,内存泄漏减少,数据刷新变得更容易,开发者不再需要担心更新异步界面。

“当我们在 BeautyPlus 中使用 ViewModel 和 LiveData 时,代码变得更加简洁和可读,并且代码的架构也统一了,”高级开发经理郑松音表示。“应用生命周期的操作得到了安全管理,稳定性也得到了提高。”

开始

Android Architecture Components 对所有开发者开放。开始使用 Android Architecture Components