总部位于纽约市的 iHeartRadio 在一个应用中提供无限量的音乐和数千个广播电台。该公司运营包括广播、在线、移动、数字和社交媒体、现场音乐会和活动、联合制作、音乐研究服务以及独立媒体代表。
自 2008 年推出以来,全球听众下载了该应用超过 10 亿次。然而,到 2017 年底,代码库已经过时,管理代码和集成新功能变得十分困难。
他们的做法
iHeartRadio 选择了 Android 架构组件,因为他们开始升级代码。对于工程师而言,简单易用且易于实现的 Room 持久性库因其处理异步查询和支持 RxJava(iHeartRadio 在代码中广泛使用)的功能而颇具吸引力。
他们还采用了 生命周期感知组件,这些组件会根据另一个组件的生命周期状态的变化执行操作。iHeartRadio 的工程师发现,这些组件对于缩减注入活动和片段的依赖项非常有用。此外,该公司使用 ViewModel 创建了原型,该原型允许数据在配置更改(例如屏幕旋转)中存活。
结果
iHeartRadio 发现迁移到 架构组件 并使用库测试集成的效果非常容易。 Room 和其他组件需要使用很少的样板代码,这意味着应用的代码现在大大缩短了。 架构组件 还导致内存泄漏减少。另一个好处是,加入团队的新开发者可以快速上手并开始编写代码。
总而言之,采用 架构组件 已帮助 iHeartRadio 创建了一个更简洁、更精简的代码库,帮助他们防止错误。对于任何应用来说,这都是好消息,特别是对于面向全球受众提供一体化数字音频的应用而言。
入门
Android 架构组件作为 Android Jetpack 的一部分对所有开发者开放。 开始使用 Android 架构组件。