iHeartRadio crea un código base más limpio con los componentes de la arquitectura Android
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.

iHeartRadio, con sede en la ciudad de Nueva York, ofrece música ilimitada y miles de estaciones de radio, todo en una sola app. Las operaciones de la empresa incluyen radiodifusión; redes sociales en línea, para dispositivos móviles y digitales; conciertos y eventos en vivo; distribución; servicios de investigación musical, y representación de medios independiente.
Oyentes de todo el mundo descargaron la app más de mil millones de veces desde su lanzamiento en 2008. Sin embargo, para finales de 2017, el código base estaba desactualizado, y administrar del código e integrar las nuevas funciones resultaba complicado.
Qué hizo la empresa
iHeartRadio eligió los componentes de la arquitectura de Android cuando comenzaron a actualizar su código. La biblioteca de persistencia de Room, directa y fácil de implementar, atrajo a los ingenieros por las capacidades para administrar consultas asíncronas y la compatibilidad con RxJava, que iHeartRadio usa ampliamente en su código.
También implementaron componentes optimizados para ciclos de vida, que realizan acciones como respuesta a un cambio en el estado del ciclo de vida de otro componente. Estos componentes les resultaron muy útiles a los ingenieros de iHeartRadio para reducir las dependencias en actividades y fragmentos. Además, la empresa creó prototipos con ViewModel, lo que permite que los datos sobrevivan a cambios de configuración, como las rotaciones de pantalla.
Resultados
Para el equipo de iHeartRadio fue fácil migrar a los componentes de la arquitectura y usar las bibliotecas para probar el funcionamiento de la integración.
Room y otros componentes usan muy poco código estándar, de manera que la extensión del código de la app ahora es considerablemente menor. Además, los componentes de la arquitectura generaron menos fugas de memoria. Un beneficio adicional fue que los nuevos desarrolladores que se unieron al equipo podían ponerse al día y comenzar a codificar rápidamente.
En términos generales, los componentes de la arquitectura ayudaron a iHeartRadio a crear un código base más limpio y prolijo, que ayuda a evitar errores.
Son excelentes noticias para cualquier app, en especial para una que ofrece audio digital integrado para un público global.
Comenzar
Todos los desarrolladores pueden acceder a los componentes de la arquitectura de Android como parte de Android Jetpack. Comienza a usar los componentes de la arquitectura de Android.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2018-05-03 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2018-05-03 (UTC)"],[],[],null,["# iHeartRadio creates a cleaner, leaner code base with Android Architecture Components\n\nNew York City-based [iHeartRadio](https://www.iheart.com/) provides\nunlimited music and thousands of radio stations, all in one app. The company's\noperations include radio broadcasting, online, mobile, digital and social media,\nlive concerts and events, syndication, music-research services, and\nindependent media representation.\n\nListeners around the world have downloaded the app over a billion times\nsince it launched in 2008. By late 2017, however, the codebase was aging,\nand managing the code and integrating new features proved to be difficult.\n\nWhat they did\n-------------\n\niHeartRadio chose\n[Android Architecture Components](/topic/libraries/architecture) as they\nbegan upgrading their code. The straightforward, easy-to-implement\n[Room](/topic/libraries/architecture/room) persistency library was\nattractive to their engineers for its\ncapabilities for handling such things as asynchronous queries and support for\nRxJava, which iHeartRadio uses extensively in their code.\n\nThey also adopted\n[lifecycle-aware components](/topic/libraries/architecture/lifecycle),\nwhich perform actions in response to a change in the\nlifecycle status of another component. The iHeartRadio\nengineers found these components very useful for shrinking dependencies\ninjected into activities and fragments. In addition, the company created\nprototypes using [ViewModel](/topic/libraries/architecture/viewmodel),\nwhich allows data to survive configuration changes, such as screen rotations.\n\nResults\n-------\n\niHeartRadio found it easy to migrate over to\n[Architecture Components](/jetpack/arch)\nand to use the libraries to test how well integration was working.\n[Room](/topic/libraries/architecture/room) and other components require\nthe use of very little boilerplate code, meaning that the app's code is\nnow significantly shorter. [Architecture Components](/jetpack/arch)\nalso resulted in fewer memory leaks. An additional benefit was that new\ndevelopers joining the team could quickly get ramped up and start coding.\n\nOverall, adopting [Architecture Components](/jetpack/arch) has helped\niHeartRadio to create a cleaner, leaner code base that helps them to prevent errors.\nThat's good news for any app, especially for one offering\nall-in-one digital audio to a worldwide audience.\n\nGet started\n-----------\n\nAndroid Architecture Components is open to all developers as part of\n[Android Jetpack](/jetpack). [Get\nstarted with Android Architecture Components](/jetpack/arch)."]]