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