iHeartRadio, Android Mimari Bileşenleri ile daha temiz, daha yalın bir kod tabanı oluşturuyor
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

New York City merkezli iHeartRadio, hepsi tek bir uygulamada sınırsız müzik ve binlerce radyo istasyonu sunuyor. Şirketin faaliyetleri radyo yayıncılığı, internet üzerinden, mobil, dijital ve sosyal medya, canlı konserler ve etkinlikler, sendikasyon, müzik araştırma hizmetleri ve bağımsız medya temsilini kapsamaktadır.
2008'de kullanıma sunulduğundan beri dünyanın her yerinden dinleyiciler uygulamayı bir milyardan fazla kez indirdi. Ancak 2017'nin sonlarında kod tabanı eskiyordu. Kodu yönetmek ve yeni özellikleri entegre etmek zordu.
Ne yaptılar?
iHeartRadio, kodlarını yükseltmeye başlarken Android Mimari Bileşenleri'ni seçti. Kolay uygulanabilen basit Oda kalıcılık kitaplığı, iHeartRadio'nun kodlarında yoğun bir şekilde kullandığı eşzamansız sorgular ve RxJava desteği gibi konuları işleyebilmesi nedeniyle mühendislerinin ilgisini çekiyordu.
Ayrıca, başka bir bileşenin yaşam döngüsü durumundaki değişikliğe yanıt olarak işlemler gerçekleştiren yaşam döngüsüne duyarlı bileşenleri de benimsemiştir. iHeartRadio mühendisleri, etkinliklere ve parçalara eklenen bağımlılıkları küçültmek için bu bileşenleri çok kullanışlı buldu. Buna ek olarak şirket, verilerin ekran döndürmeleri gibi yapılandırma değişikliklerinden etkilenmesini sağlayan ViewModel özelliğini kullanarak prototipler oluşturdu.
Sonuçlar
iHeartRadio, Mimari Bileşenleri'ne geçiş yapmayı ve entegrasyonun ne kadar iyi çalıştığını test etmek için kitaplıkları kullanmayı çok kolay buldu.
Oda ve diğer bileşenler çok küçük standart kod kullanımını gerektirir. Diğer bir deyişle, uygulama kodu artık önemli ölçüde daha kısadır. Mimari Bileşenleri de daha az bellek sızıntısına neden oldu. Ekibe katılan yeni geliştiricilerin hızla toparlanıp kodlamaya başlayabilmesi de ek bir avantaj oldu.
Genel olarak Mimari Bileşenlerinin benimsenmesi, iHeartRadio'nun hataları önlemelerine yardımcı olan daha temiz ve yalın bir kod tabanı oluşturmasına yardımcı oldu.
Bu, özellikle dünya çapında bir kitleye her şeyi bir arada dijital ses sunan
tüm uygulamalar için iyi bir haberdir.
Başlayın
Android Mimari Bileşenleri, Android Jetpack kapsamında tüm geliştiricilere açıktır. Android Mimarisi Bileşenleri'ni kullanmaya başlayın.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2018-05-03 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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)."]]