iHeartRadio có trụ sở tại Thành phố New York cung cấp nhạc không giới hạn và hàng nghìn đài phát thanh trong một ứng dụng duy nhất. Các hoạt động của công ty bao gồm phát sóng trên đài phát thanh, trực tuyến, trên thiết bị di động, kỹ thuật số và mạng xã hội, các buổi hoà nhạc và sự kiện trực tiếp, phát sóng lại, dịch vụ nghiên cứu âm nhạc và đại diện cho các phương tiện truyền thông độc lập.
Kể từ khi ra mắt vào năm 2008, ứng dụng này đã được người nghe trên toàn thế giới tải xuống hơn một tỷ lần. Tuy nhiên, vào cuối năm 2017, cơ sở mã đã cũ và việc quản lý mã cũng như tích hợp các tính năng mới trở nên khó khăn.
Những việc họ đã làm
iHeartRadio đã chọn Android Architecture Components khi bắt đầu nâng cấp mã của mình. Thư viện lưu trữ Room đơn giản và dễ triển khai đã thu hút các kỹ sư của iHeartRadio vì khả năng xử lý những việc như truy vấn không đồng bộ và hỗ trợ RxJava (iHeartRadio sử dụng rộng rãi trong mã của họ).
Họ cũng áp dụng các thành phần nhận biết vòng đời, thực hiện các hành động để phản hồi một thay đổi trong trạng thái vòng đời của một thành phần khác. Các kỹ sư của iHeartRadio nhận thấy những thành phần này rất hữu ích trong việc giảm các phần phụ thuộc được chèn vào các hoạt động và mảnh. Ngoài ra, công ty này đã tạo các nguyên mẫu bằng ViewModel, cho phép dữ liệu tiếp tục có tác dụng khi có thay đổi về cấu hình, chẳng hạn như xoay màn hình.
Kết quả
iHeartRadio nhận thấy việc di chuyển sang Thành phần kiến trúc và sử dụng các thư viện để kiểm thử mức độ hiệu quả của quá trình tích hợp rất dễ dàng. Room và các thành phần khác yêu cầu sử dụng rất ít mã khởi tạo, nghĩa là mã của ứng dụng hiện ngắn hơn đáng kể. Architecture Components (Các thành phần kiến trúc) cũng giúp giảm tình trạng rò rỉ bộ nhớ. Một lợi ích khác là các nhà phát triển mới tham gia nhóm có thể nhanh chóng làm quen và bắt đầu viết mã.
Nhìn chung, việc áp dụng Architecture Components (Các thành phần kiến trúc) đã giúp iHeartRadio tạo ra một cơ sở mã sạch hơn, tinh gọn hơn, giúp họ ngăn chặn lỗi. Đó là tin vui cho mọi ứng dụng, đặc biệt là ứng dụng cung cấp âm thanh kỹ thuật số đa năng cho khán giả trên toàn thế giới.
Bắt đầu
Bộ thành phần cấu trúc Android dành cho tất cả nhà phát triển trong Android Jetpack. Bắt đầu với Bộ thành phần cấu trúc Android.