iHeartRadio , базирующийся в Нью-Йорке, предоставляет неограниченное количество музыки и тысячи радиостанций в одном приложении. Деятельность компании включает радиовещание, онлайн, мобильные, цифровые и социальные сети, живые концерты и мероприятия, синдикацию, услуги музыкальных исследований и независимое представительство в СМИ.
Слушатели по всему миру загрузили приложение более миллиарда раз с момента его запуска в 2008 году. Однако к концу 2017 года кодовая база устарела, и управление кодом и интеграция новых функций оказались трудными.
Что они сделали
iHeartRadio выбрала компоненты архитектуры Android , когда они начали обновлять свой код. Простая и простая в реализации библиотека постоянства Room была привлекательна для инженеров своими возможностями обработки таких вещей, как асинхронные запросы и поддержка RxJava, которую iHeartRadio широко использует в своем коде.
Они также внедрили компоненты, учитывающие жизненный цикл , которые выполняют действия в ответ на изменение статуса жизненного цикла другого компонента. Инженеры iHeartRadio сочли эти компоненты очень полезными для сокращения зависимостей, внедряемых в действия и фрагменты. Кроме того, компания создала прототипы с использованием ViewModel , что позволяет данным пережить изменения конфигурации, например повороты экрана.
Результаты
В iHeartRadio было легко перейти на компоненты архитектуры и использовать библиотеки для проверки эффективности интеграции. Комната и другие компоненты требуют использования очень небольшого количества шаблонного кода, а это означает, что код приложения теперь значительно короче. Компоненты архитектуры также привели к уменьшению утечек памяти. Дополнительным преимуществом было то, что новые разработчики, присоединяющиеся к команде, могли быстро набраться сил и начать программировать.
В целом, внедрение компонентов архитектуры помогло iHeartRadio создать более чистую и компактную базу кода, которая помогает им предотвращать ошибки. Это хорошая новость для любого приложения, особенно для приложения, предлагающего универсальное цифровое аудио для мировой аудитории.
Начать
Компоненты архитектуры Android открыты для всех разработчиков как часть Android Jetpack . Начало работы с компонентами архитектуры Android .