Beberapa orang suka menyebutnya fragmentasi, yang lain menyebutnya pilihan, tetapi dengan nama apa pun pasti ada banyak ponsel Android yang berbeda. Membangun aplikasi yang perlu bekerja dengan semuanya bukanlah tugas yang mudah. Anda memiliki konfigurasi perangkat keras yang sangat berbeda yang membuat perbedaan besar dalam kinerja, dan meskipun satu file apk dapat bekerja pada masing-masing dari mereka, masih ada masalah memerlukan aplikasi untuk berjalan dengan lancar pada perangkat kelas bawah tanpa mengorbankan fitur pada tingkat tinggi -perangkat akhir. Ketika Anda berbicara tentang aplikasi sepopuler Facebook, ini dapat dengan cepat menjadi mimpi buruk bagi orang-orang yang melakukan pengkodean.
Facebook menunjukkan kepada semua orang di Big Android Meat and Greet solusi baru yang sederhana - komponen Device Year Class.
Pengembang Facebook menjelaskan komponen perangkat lunak baru ini seperti ini:
Device Year Class adalah pustaka Android yang mengimplementasikan algoritme sederhana yang memetakan RAM perangkat, inti CPU, dan kecepatan jam ke tahun di mana kombinasi spesifikasi tersebut dianggap high-end. Ini memungkinkan pengembang untuk dengan mudah memodifikasi perilaku aplikasi berdasarkan kemampuan perangkat keras ponsel.
Perpustakaan tidak mengubah perilaku apa pun dalam aplikasi. Ini mengembalikan nilai (dinyatakan sebagai tahun) yang disimpan dalam kode untuk saat-saat ketika pengembang perlu mengubah cara kerja aplikasi untuk menyesuaikan pengalaman dengan jenis perangkat keras tertentu. Ini artinya seorang dev dapat menulis aplikasi dengan animasi dan transisi mewah yang akan diputar seperti yang dimaksudkan ketika menjalankan sesuatu seperti Galaxy Note 4, tetapi tidak menggunakan eye-candy ketika aplikasi tersebut dijalankan pada sesuatu seperti Moto E. bayangkan, kontrol semacam ini pada aplikasi seperti Facebook - yang diinstal pada jutaan dan jutaan ponsel yang berbeda - dapat dan akan membuat pengalaman yang lebih baik untuk hampir semua orang. Dan itu mudah diterapkan. Dari dokumentasi di GitHub:
if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }
Yang terbaik dari semuanya, perpustakaan bersumber terbuka di bawah lisensi perangkat lunak BSD (lisensi yang sama yang digunakan Google untuk sumber Android) dan tersedia untuk setiap pengembang untuk digunakan secara gratis.
Kami tahu ini bukan keajaiban, dan kemungkinan sebagian besar pengembang yang mengerjakan proyek besar memiliki semacam metode untuk menangani konfigurasi perangkat keras yang berbeda. Apa yang dilakukan kelas perangkat tahun adalah memberikan solusi sederhana dan "elegan" untuk masalah besar, dan siapa pun dapat menggunakannya.
Halaman GitHub Kelas Perangkat Tahun