Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.

Kemampuan perangkat untuk miliaran

Menjangkau pengguna baru berarti mendukung versi platform Android dan spesifikasi perangkat yang semakin bervariasi. Untuk meningkatkan pengalaman pengguna, optimalkan untuk konfigurasi RAM umum, serta ukuran dan resolusi layar.

Mendukung berbagai ukuran layar

Aplikasi Anda dapat memberikan pengalaman pengguna yang lebih baik bagi miliaran pengguna jika mendukung layar dengan berbagai ukuran dan resolusi. Bagian ini menjelaskan beberapa cara Anda bisa melakukan ini.

Menggunakan piksel berkepadatan independen (dp)

  • Menentukan dimensi tata letak dengan piksel tidak berfungsi dengan baik karena layar yang berbeda memiliki kerapatan piksel yang berbeda, sehingga jumlah piksel yang sama mungkin sesuai dengan ukuran fisik yang berbeda pada perangkat yang berbeda.
  • Untuk mengatasinya, Android mendukung kepadatan independen piksel (dp), yang sesuai dengan ukuran fisik piksel pada 160 titik per inci (kepadatan mdpi).
  • Mendefinisikan tata letak dengan dp memastikan bahwa ukuran fisik antarmuka pengguna akan konsisten terlepas dari perangkat yang digunakan. Kunjungi panduan Android pada Mendukung Beberapa Layar untuk praktik terbaik penggunaan piksel yang tidak tergantung kepadatan.

Menguji teks dan grafik pada kepadatan layar ldpi dan mdpi

  • Uji untuk memastikan bahwa teks dan grafik Anda berfungsi dengan baik pada layar dengan kepadatan rendah dan menengah (ldpi dan mdpi) karena ini adalah densitas umum, terutama di perangkat berbiaya lebih rendah. Carilah teks yang mungkin tidak jelas pada layar dengan kepadatan lebih rendah, di mana detail halus tidak terlihat.
  • Perangkat dengan layar kepadatan rendah cenderung memiliki spesifikasi hardware yang lebih rendah. Untuk memastikan bahwa aplikasi Anda berjalan dengan baik pada perangkat ini, pertimbangkan untuk mengurangi atau menghilangkan beban pemrosesan grafik yang berat, seperti animasi dan transisi.
  • Untuk informasi selengkapnya tentang mendukung kepadatan yang berbeda, lihat pelatihan Android tentang Mendukung Kepadatan yang Berbeda.

Menguji tata letak pada ukuran layar kecil dan menengah

  • Validasi apakah tata letak dikecilkan dengan menguji pada layar yang lebih kecil. Ketika ukuran layar menyusut, Anda harus sangat selektif tentang elemen UI yang terlihat, karena keterbatasan tempat.
  • Panduan Desain Material menjelaskan metrik dan keyline untuk memastikan tata letak Anda bisa disesuaikan dengan semua kepadatan layar.
  • Untuk informasi selengkapnya tentang mendukung ukuran layar yang berbeda, lihat pelatihan Android di Mendukung Ukuran Layar yang Berbeda.

Memberikan kompatibilitas mundur

Tidak semua pengguna Anda mungkin menggunakan perangkat yang didukung oleh versi terbaru dan versi terbaik dari platform Android. Berikut adalah beberapa cara Anda dapat meningkatkan kompatibilitas mundur, membantu membuat aplikasi Anda tersedia untuk sebanyak mungkin orang.

Setel targetSdkVersion dan minSdkVersion Anda dengan tepat

  • Aplikasi harus membuat dan menargetkan versi Android terbaru untuk memastikan mereka menawarkan perilaku terkini di berbagai perangkat; ini masih memberikan kompatibilitas mundur ke versi yang lebih lama. Berikut adalah praktik terbaik untuk menargetkan level API dengan benar:
    • targetSdkVersion harus Android versi terbaru. Menargetkan versi terbaru memastikan bahwa aplikasi Anda memiliki perilaku waktu proses yang lebih baru ketika menjalankan versi Android terbaru. Pastikan untuk menguji aplikasi Anda pada versi Android yang lebih baru ketika mengupdate targetSdkVersion karena dapat mempengaruhi perilaku aplikasi.
    • minSdkVersion menyetel versi Android minimum yang didukung. Gunakan Android 4.0 (API level 14: Ice Cream Sandwich) atau Android 4.1 (API level 16: Jelly Bean)—versi ini memberikan cakupan maksimum untuk perangkat modern. Menyetel minSdkVersion juga mengakibatkan fitur build Android melaporkan penggunaan yang salah atas API baru yang mungkin tidak tersedia dalam versi platform lama. Dengan demikian, developer akan terhindar dari melanggar kompatibilitas mundur secara tidak sengaja.
  • Bacalah dasbor Android, Google Play Developer Console untuk aplikasi Anda, dan riset industri di pasar target untuk mengukur versi Android yang disasar, berdasarkan pengguna target Anda.

Menggunakan library Dukungan Android

  • Pastikan aplikasi Anda memberikan pengalaman yang konsisten di seluruh versi OS dengan menggunakan Library Dukungan Android. Library ini menyediakan versi API framework Android yang kompatibel serta fitur yang hanya tersedia melalui API library seperti AppCompatActivity dan Library Dukungan Desain Bahan.
  • Beberapa hal penting termasuk:
  • Untuk informasi selengkapnya tentang library dukungan yang tersedia, lihat bagian Fitur Library Dukungan dari situs Developer Android.

Gunakan layanan Google Play

  • Layanan Google Play membawa yang terbaik dari Google API independen dari versi platform Android. Pertimbangkan untuk menggunakan fitur dari layanan Google Play untuk menawarkan pengalaman Google paling efisien pada perangkat Android.
  • Layanan Google Play juga mencakup API yang bermanfaat seperti GcmNetworkManager, yang menyediakan banyak JobScheduler API Android 5.0 untuk versi Android yang lebih lama.
  • Update layanan Google Play didistribusikan secara otomatis oleh Google Play Store, dan library klien versi baru dikirimkan melalui Android SDK Manager.

Menggunakan memori secara efisien

Memori adalah pahlawan tanpa tanda jasa atas pengalaman pengguna. Manajemen memori yang baik dapat membuat aplikasi Anda lebih stabil dan lebih berperforma baik; dalam beberapa kasus, penggunaannya yang efektif mungkin merupakan satu-satunya hal yang membuat aplikasi Anda dapat digunakan. Berikut adalah beberapa cara agar Anda dapat membantu aplikasi Anda menggunakan memori dengan bijak.

Mengurangi footprint memori pada perangkat berbiaya murah

  • Sesuaikan footprint mem Anda secara dinamis untuk memastikan kompatibilitas lintas perangkat dengan konfigurasi RAM yang berbeda.
  • Metode seperti isLowRamDevice() dan getMemoryClass() membantu menentukan batasan memori pada waktu proses. Sesuai dengan informasi ini, Anda dapat mengurangi penggunaan memori Anda. Sebagai contoh, Anda bisa menggunakan gambar resolusi rendah pada perangkat dengan memori rendah.
  • Untuk informasi selengkapnya tentang mengelola memori aplikasi Anda, lihat pelatihan Android di Mengelola Memori Aplikasi Anda.

Menghindari proses yang berjalan lama

  • Proses yang berjalan lama tetap tersimpan dalam memori dan dapat memperlambat perangkat. Dalam kebanyakan situasi, aplikasi Anda harus tetap aktif untuk kejadian tertentu, memproses data, dan mematikan. Anda harus menggunakan Firebase Cloud Messaging (FCM) dan GcmNetworkManager untuk menghindari layanan latar belakang yang berjalan lama dan mengurangi tekanan memori pada perangkat pengguna.

Penggunaan memori tolok ukur

Android Studio menyediakan fitur tolok ukur dan profiling memori, memungkinkan Anda untuk mengukur penggunaan memori pada saat dijalankan. Pembuatan tolok ukur footprint aplikasi memungkinkan Anda untuk memantau penggunaan memori melalui beberapa versi aplikasi. Cara ini bisa membantu mengetahui pertumbuhan footprint memori yang tidak disengaja. Gunakan fitur Memory Profiler untuk melakukan hal berikut:

  • Cari tahu apakah pola kejadian pembersihan sampah memori (GC) yang tidak diinginkan mungkin menyebabkan masalah performa.
  • Identifikasi jenis objek yang dialokasikan atau tetap dialokasikan secara tak terduga atau tidak semestinya.
  • Identifikasi masalah yang mungkin ada dalam kode Anda.

Untuk informasi selengkapnya tentang tolok ukur penggunaan memori, lihat Lihat Heap dan Alokasi dengan Memory Profiler.

Mengoptilmalkan perangkat yang menjalankan Android (edisi Go)

Android (edisi Go) adalah pengalaman yang dioptimalkan untuk perangkat entry-level dengan ≤1GB RAM, dimulai dengan Android Oreo (edisi Go). Untuk memastikan aplikasi berjalan dengan baik di perangkat Android (edisi Go), Anda harus mempertimbangkan pedoman berikut:

  • targetSdkVersion harus Android versi terbaru. Perangkat Android (edisi Go) hanya menjalankan Android Oreo (API 26 atau lebih tinggi).
  • Aplikasi semestinya berjalan dengan lancar di perangkat dengan ≤1GB RAM. Ingatlah optimasi memori yang tercantum dalam Menggunakan memori secara efisien di atas dan gunakan Android vitals untuk mengidentifikasi dan memperbaiki perilaku buruk seperti rendering lambat dan periode frozen.
  • Gambar dalam gambar (PIP) mungkin dinonaktifkan pada perangkat yang memiliki RAM rendah. Sebelum aplikasi Anda menggunakan PIP, periksa untuk memastikan PIP tersedia dengan memanggil hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE).
  • Ukuran aplikasi pada perangkat harus kurang dari 40MB.
  • Ukuran Set Proporsional (PSS) dari penggunaan RAM aplikasi tidak boleh melebihi 50MB. Untuk game, PSS penggunaan RAM game tidak boleh lebih dari 150MB. Untuk informasi selengkapnya tentang PSS, lihat panduan Menginvestigasi Penggunaan RAM Anda.
  • Waktu startup aplikasi harus singkat dan di bawah 5 detik.

Kami merekomendasikan kepada sebagian besar developer agar mengoptimalkan aplikasi mereka yang ada, yang akan tersedia di semua perangkat Android (edisi Go), karena membuat aplikasi Anda berjalan lebih cepat dan lebih ringan akan menguntungkan seluruh audience Anda. Anda dapat menggunakan fitur Beberapa fitur APK pada Play Console untuk mendistribusikan perangkat APK untuk Android (edisi Go) tertentu tetapi Anda hanya boleh melakukannya tanpa mengorbankan pengalaman (mis. Anda harus menghindari penghapusan fitur). Perangkat yang menargetkan Android (edisi Go) perlu mendeklarasikan <uses-feature android:name="android.hardware.ram.low" android:required="true">, menargetkan setidaknya API Level 26, dan memiliki kode versi yang lebih tinggi daripada APK yang bukan edisi Go.