UI dan konten untuk miliaran

Pastikan aplikasi Anda menawarkan UI interaktif yang merespons cepat input pengguna dan, jika perlu, mengimbangi peluncuran lambat. Pastikan aplikasi Anda dirancang agar bisa dengan mudah dilokalkan dengan mengakomodasi variasi antar bahasa: perbolehkan spasi, kepadatan, urutan, penekanan, dan variasi kata. Pastikan juga tanggal, waktu, dan unit lain dalam format internasional dan ditampilkan sesuai dengan setelan ponsel.

Antarmuka pengguna cepat dan responsif

Persepsi pengguna tentang performa aplikasi dibentuk dalam bagian besar oleh daya respons aplikasi. Misalnya, interaksi dengan pengguna dan tampilan yang jernih adalah dua karakteristik penting dari aplikasi yang berperforma baik. Berikut Anda dapat menemukan kiat tentang cara mengoptimalkannya dan aspek-aspek lain dari kecepatan dan respons aplikasi.

Masukan sentuh pada semua item yang bisa disentuh

  • Umpan balik sentuh menambahkan perasaan taktil untuk antarmuka pengguna. Anda harus memastikan aplikasi Anda memberikan umpan balik sentuh pada semua elemen yang bisa disentuh untuk mengurangi latensi aplikasi yang dirasakan semaksimal mungkin.
  • Interaksi responsif mendorong eksplorasi yang lebih dalam dari sebuah aplikasi dengan menciptakan reaksi layar yang pas, logis, dan menyenangkan terhadap input pengguna. Interaksi responsif mengangkat aplikasi dari layanan pengiriman-informasi ke sebuah pengalaman yang berkomunikasi dengan menggunakan beberapa tanggapan visual dan taktil.
  • Untuk informasi selengkapnya, lihat pelatihan Android pada Memodifikasi Masukan Sentuh.

UI harus selalu interaktif

  • Aplikasi yang tidak responsif saat melakukan aktivitas latar belakang terasa lambat dan mengurangi kepuasan pengguna. Pastikan aplikasi Anda selalu memiliki UI yang responsif terlepas dari aktivitas latar belakang. Capai ini dengan melakukan operasi jaringan atau operasi berat dalam thread latar belakang—jaga thread UI tetap diam sebisa mungkin.
  • Aplikasi Desain Material menggunakan perubahan visual minimal saat memuat materi dengan mewakili setiap operasi dengan indikator aktivitas tunggal. Hindari dialog yang memblokir dengan indikator pemuatan.
  • Keadaan kosong terjadi saat layar tidak punya konten untuk ditampilkan. Keadaan ini mungkin saja daftar yang tidak memiliki item atau penelusuran yang tidak mengembalikan hasil. Hindari keadaan kosong saat menggunakan konten starter, educational, atau best match. Ketika opsi ini tidak berlaku, tampilkan gambar non-interaktif dan tagline teks yang memberi tahu pengguna apa yang akan mereka lihat ketika ada sesuatu untuk ditampilkan.
  • Untuk informasi selengkapnya, lihat pelatihan Android pada Menjaga Aplikasi Anda Tetap Responsif.

Targetkan 60 bingkai per detik pada perangkat berbiaya murah

  • Pastikan bahwa aplikasi Anda selalu berjalan cepat dan lancar, bahkan pada perangkat berharga murah.
  • Overdraw bisa memperlambat aplikasi Anda secara signifikan—itu terjadi ketika piksel digambar lebih dari sekali per lewat. Contohnya adalah ketika Anda memiliki sebuah gambar dengan tombol yang diletakkan di atasnya. Meskipun beberapa overdraw tidak bisa dihindari, ini harus diminimalisasi untuk memastikan laju bingkai yang mulus. Lakukan Debug GPU overdraw pada aplikasi Anda untuk memastikannya minimal.
  • Perangkat Android menyegarkan layar dengan kecepatan 60 bingkai per detik (fps), yang berarti bahwa aplikasi Anda harus melakukan pembaruan layar dalam waktu sekitar 16 milidetik. Buat profil aplikasi Anda menggunakan alat pada perangkat untuk melihat apakah dan kapan aplikasi tidak memenuhi rata-rata 16 ms ini.
  • Mengurangi atau menghilangkan animasi pada perangkat murah untuk mengurangi beban pada CPU dan GPU perangkat. Untuk informasi selengkapnya, lihat pelatihan Android pada Meningkatkan Kinerja Tata Letak.
  • Hierarki tampilan yang efisien bisa mempercepat aplikasi Anda tanpa meningkatkan jejak memori aplikasi. Untuk informasi selengkapnya, silakan lihat Hierarki Tampilan dan Performa.

Gunakan layar peluncuran pada aplikasi lambat terbuka

  • Layar peluncuran adalah pengalaman pertama pengguna aplikasi Anda. Menampilkan kanvas kosong saat meluncurkan aplikasi Anda akan meningkatkan persepsi waktu pemuatan, jadi pertimbangkan menggunakan UI placeholder atau layar peluncuran bermerek untuk mengurangi waktu pemuatan yang dirasakan.
  • Placeholder UI adalah peluncuran transisi paling mulus, cocok untuk peluncuran aplikasi dan transisi aktivitas dalam aplikasi.
  • Layar peluncuran merek memberikan pemaparan merek sesaat, membebaskan UI agar fokus pada materi.
  • Untuk informasi selengkapnya tentang implementasi layar pembuka, lihat bagian layar Peluncuran dari spesifikasi Desain Material.
  • Cara terbaik untuk menangani kecepatan awal yang lambat adalah tidak menggunakannya. Performa Waktu-Peluncuran menyediakan informasi yang bisa membantu Anda mempercepat waktu peluncuran aplikasi.

Praktik terbaik antarmuka pengguna

  • Desain Material adalah bahasa visual yang memadukan prinsip-prinsip klasik desain yang baik dengan inovasi dan kemungkinan dari teknologi dan ilmu pengetahuan. Desain Material menyediakan sistem dasar tunggal yang memungkinkan pengalaman seragam di seluruh platform dan ukuran perangkat. Pertimbangkan untuk menggunakan komponen Desain Material kunci sehingga pengguna secara intuitif tahu cara menggunakan aplikasi Anda.
  • Komponen Desain Material siap digunakan tersedia di library Dukungan Desain Material. Komponen-komponen ini didukung dalam Android 2.1 (API level 7) dan di atasnya.

Pelokalan

  • Pengguna bisa dari mana saja di seluruh dunia dan bahasa utama mereka mungkin saja berbeda dengan yang Anda gunakan. Jika Anda tidak menampilkan aplikasi dalam bahasa yang bisa dibaca pengguna, Anda sudah kehilangan kesempatan. Oleh karena itu Anda harus melakukan pelokalan aplikasi ke dalam bahasa penting di kawasan.
  • Untuk mengetahui selengkapnya, kunjungi pelatihan Android pada Mendukung Bahasa Berbeda.
  • Mulai dari Android 7.0 (API level 24), framework Android menyediakan subset dari ICU4J API, yang bisa membantu Anda melokalkan aplikasi ke dalam berbagai bahasa. Untuk informasi selengkapnya, silakan lihat ICU4J Android Framework API.