iHeartRadio 利用 Android Architecture Components 创建更简洁、更精简的代码库

总部位于纽约市的 iHeartRadio 提供无限音乐和数千个广播电台,全部集成在一个应用中。该公司的业务包括广播、在线、移动、数字和社交媒体、现场音乐会和活动、内容联合、音乐研究服务以及独立媒体代理。

自 2008 年推出以来,全球听众已下载该应用超过 10 亿次。然而,到 2017 年末,其代码库已显老旧,管理代码和集成新功能变得困难。

他们做了什么

iHeartRadio 在开始升级代码时,选择了 Android Architecture Components。直接且易于实现的 Room 持久性库吸引了他们的工程师,因为它能够处理异步查询并支持 RxJava(iHeartRadio 在其代码中广泛使用 RxJava)。

他们还采用了生命周期感知组件,这些组件会响应其他组件生命周期状态的变化而执行操作。iHeartRadio 工程师发现这些组件对于减少注入到活动和片段中的依赖项非常有用。此外,该公司还使用 ViewModel 创建了原型,该 ViewModel 允许数据在配置更改(例如屏幕旋转)后仍能保留。

成果

iHeartRadio 发现迁移到 Architecture Components 并使用这些库来测试集成效果非常容易。Room 和其他组件只需要很少的样板代码,这意味着应用的代码现在显著缩短。Architecture Components 还减少了内存泄漏。另一个好处是,新加入团队的开发者可以快速上手并开始编码。

总的来说,采用 Architecture Components 帮助 iHeartRadio 创建了一个更简洁、更精简的代码库,从而有助于防止错误。这对任何应用都是个好消息,特别是对于那些为全球受众提供一体化数字音频的应用。

开始使用

Android Architecture Components 作为 Android Jetpack 的一部分,对所有开发者开放。开始使用 Android Architecture Components