UI dan konten untuk miliaran
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pastikan aplikasi Anda menawarkan UI interaktif yang cepat merespons input pengguna dan, jika perlu, mengimbangi peluncuran lambat.
Pastikan aplikasi Anda dirancang agar mudah dilokalkan
dengan mengakomodasi variasi antarbahasa: izinkan variasi spasi, kepadatan,
urutan, penekanan, dan kata. Pastikan juga tanggal, waktu, dan
unit lain berada dalam format internasional dan ditampilkan sesuai dengan setelan
ponsel.
Antarmuka pengguna cepat dan responsif
Persepsi pengguna tentang performa aplikasi sebagian besar dibentuk oleh
kecepatan respons aplikasi. Misalnya, interaksi pengguna dan tampilan jernih adalah dua karakteristik
penting dari aplikasi berperforma tinggi. Di sini, Anda dapat menemukan tips tentang cara mengoptimalkan kedua karakteristik ini dan
aspek lain dari kecepatan respons dan kecepatan aplikasi.
Masukan sentuhan pada semua item yang dapat disentuh
- Masukan sentuhan menambahkan kesan taktil pada antarmuka pengguna. Anda harus
memastikan aplikasi Anda memberikan masukan sentuhan pada semua elemen yang dapat disentuh untuk
semaksimal mungkin mengurangi latensi aplikasi yang dirasakan.
-
Interaksi responsif mendorong eksplorasi yang lebih dalam pada aplikasi dengan
menciptakan reaksi layar yang tepat waktu, logis, dan menyenangkan terhadap input pengguna.
Interaksi responsif mengangkat aplikasi dari layanan pengiriman-informasi
menjadi suatu pengalaman yang berkomunikasi menggunakan sejumlah respons
visual dan taktil.
- Untuk informasi selengkapnya, lihat pelatihan Android tentang Menyesuaikan Masukan
Sentuhan.
UI harus selalu interaktif
- Aplikasi yang tidak responsif saat melakukan aktivitas latar belakang akan terasa lambat
dan mengurangi kepuasan pengguna. Pastikan aplikasi Anda selalu memiliki UI yang responsif,
apa pun aktivitas latar belakang yang dilakukan. Capai hal ini dengan melaksanakan operasi
jaringan atau operasi berat apa pun di thread latar belakang—jaga agar thread UI
tetap tanpa aktivitas sebisa mungkin.
- Aplikasi Desain Material menggunakan perubahan visual minimal saat memuat
konten. Aplikasi ini mewakili setiap operasi dengan indikator aktivitas tunggal.
Hindari memblokir dialog dengan
indikator pemuatan.
- Status
kosong terjadi saat tampilan tidak memiliki konten untuk ditampilkan. Tampilan tersebut
dapat berupa daftar yang tidak berisi item atau penelusuran yang tidak menampilkan hasil. Hindari
status kosong dengan menggunakan konten pemicu, edukatif, atau yang paling sesuai.
Jika opsi ini tidak berlaku, tampilkan gambar non-interaktif dan tagline teks
yang memberi tahu pengguna tentang konten yang akan ia lihat bila ada sesuatu untuk ditampilkan.
- Untuk informasi selengkapnya, lihat pelatihan Android tentang Menjaga Aplikasi Anda
Tetap Responsif.
Menargetkan 60 frame per detik pada perangkat berbiaya rendah
- Pastikan aplikasi Anda selalu berjalan cepat dan lancar, bahkan pada perangkat
berbiaya rendah.
- Overdraw dapat memperlambat aplikasi Anda secara signifikan. Hal ini terjadi bila piksel
digambar lebih dari satu kali per penerusan. Contohnya adalah bila Anda memiliki
sebuah gambar dengan tombol yang diletakkan di atasnya. Meskipun overdraw tertentu tidak dapat
dihindari, overdraw harus diminimalkan untuk memastikan kecepatan frame yang lancar. Lakukan
Debug
overdraw oleh GPU pada aplikasi Anda untuk memastikan overdraw telah diminimalkan.
- Perangkat Android memuat ulang layar pada kecepatan 60 frame per detik (fps), yang berarti bahwa
aplikasi Anda harus memperbarui layar dalam waktu sekitar 16 milidetik. Buat profil
aplikasi menggunakan alat di perangkat untuk mengetahui apakah dan kapan aplikasi tidak
memenuhi rata-rata 16 ms ini.
- Kurangi atau hapus animasi pada perangkat berbiaya rendah untuk mengurangi beban pada
CPU dan GPU perangkat tersebut. Untuk mengetahui informasi selengkapnya, lihat
Meningkatkan
performa tata letak.
- Hierarki tampilan yang efisien dapat mempercepat aplikasi Anda tanpa meningkatkan
jejak memori aplikasi. Untuk informasi selengkapnya, lihat
Performa
dan Hierarki Tampilan.
Menggunakan layar peluncuran pada aplikasi yang lambat dimulai
- Layar peluncuran adalah pengalaman pertama pengguna tentang aplikasi Anda.
Menampilkan kanvas kosong saat meluncurkan aplikasi akan meningkatkan persepsi terhadap
waktu pemuatannya, jadi pertimbangkan untuk menggunakan UI placeholder atau layar peluncuran bermerek
untuk mengurangi waktu pemuatan yang dirasakan.
- UI
placeholder adalah transisi peluncuran paling lancar, yang cocok untuk
peluncuran aplikasi dan transisi aktivitas dalam aplikasi.
-
Layar peluncuran bermerek memberikan eksposur merek sesaat, dengan membebaskan UI
untuk fokus pada konten.
- Cara terbaik untuk menangani kecepatan mulai yang lambat adalah dengan tidak memilikinya. Performa Waktu-Peluncuran memberikan
informasi yang dapat 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 teknologi
serta ilmu pengetahuan. Desain Material menyediakan sistem dasar tunggal yang
memungkinkan pengalaman terpadu di seluruh platform dan ukuran perangkat. Pertimbangkan untuk
menggunakan komponen Desain Material utama sehingga pengguna secara intuitif mengetahui cara
menggunakan aplikasi Anda.
- Komponen Desain Material yang siap digunakan tersedia di Support Library
Desain Material. Komponen ini didukung di Android 2.1 (API level 7) dan
yang lebih baru.
Pelokalan
- Pengguna dapat berasal dari wilayah mana pun di seluruh dunia dan bahasa utama mereka
mungkin saja berbeda dengan bahasa Anda. Jika tidak menampilkan aplikasi dalam bahasa yang dapat dibaca
pengguna, Anda akan kehilangan peluang. Karena itu, Anda harus
melokalkan aplikasi ke dalam bahasa utama di wilayah tertentu.
- Untuk mempelajari lebih lanjut, kunjungi pelatihan Android tentang
Mendukung
Berbagai Bahasa dan lihat
checklist pelokalan.
- Mulai dari Android 7.0 (API level 24), framework Android
menyediakan subset ICU4J API, yang dapat
membantu Anda melokalkan aplikasi ke dalam banyak bahasa. Untuk informasi
selengkapnya, lihat
ICU4J Android Framework API.
Referensi lainnya
Untuk mempelajari topik ini lebih lanjut, lihat referensi tambahan berikut:
Topik selanjutnya
Postingan blog
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# UI and content for billions\n\nMake sure that your app offers an interactive UI that responds quickly to user input and, if necessary, compensates for a slow launch.\nEnsure that your app is designed to be easily localized by\naccommodating the variations between languages: allow for spacing, density,\norder, emphasis, and wording variations. Also make sure that date, time, and\nother units are internationalized and displayed according to the phone's\nsettings.\n\nFast and responsive user interface\n----------------------------------\n\n\u003cbr /\u003e\n\n\nThe user's perception of app performance is formed in large part by the app's\nresponsiveness. For example, interaction with the user and a crisp display are two important\ncharacteristics of a performant app. Here you can find tips on how to optimize these and\nother aspects of an app's speed and responsiveness.\n\n### Touch feedback on all touchable items\n\n- Touch feedback adds a tactile feeling to the user interface. You should ensure your app provides touch feedback on all touchable elements to reduce the perceived app latency as much as possible.\n- [Responsive interaction](https://material.io/guidelines/motion/material-motion.html) encourages deeper exploration of an app by creating timely, logical, and delightful screen reactions to user input. Responsive interaction elevates an app from an information-delivery service to an experience that communicates using multiple visual and tactile responses.\n- For more information, see the Android training on [Customizing Touch\n Feedback](/training/material/animations#Touch).\n\n### UI should always be interactive\n\n- Apps that are unresponsive when performing background activity feel slow and reduce user satisfaction. Ensure your app always has a responsive UI regardless of any background activity. Achieve this by performing network operations or any heavy-duty operations in a background thread---keep the UI thread as idle as you can.\n- Material Design apps use minimal visual changes when loading content by representing each operation with a single activity indicator. Avoid blocking dialogs with [loading indicators](https://material.io/guidelines/components/progress-activity.html).\n- [Empty\n states](https://material.io/guidelines/patterns/empty-states.html) occur when a view has no content to show. It might be a list that has no items or a search that returns no results. Avoid empty states using starter, educational, or best match content. When these options aren't applicable display a non-interactive image and a text tagline that tell the user what they'll see when there is something to display.\n- For more information, see the Android training on [Keeping Your App\n Responsive](/training/articles/perf-anr).\n\n### Target 60 frames per second on low-cost devices\n\n- Ensure that your app always runs fast and smoothly, even on low-cost devices.\n- Overdraw can significantly slow down your app---it occurs when the pixels are being drawn more than once per pass. An example of this is when you have an image with a button placed on top of it. While some overdraw is unavoidable, it should be minimized to ensure a smooth frame rate. Perform [Debug\n GPU overdraw](/tools/performance/debug-gpu-overdraw) on your app to ensure it's minimized.\n- Android devices refresh the screen at 60 frames per second (fps), meaning your app has to update the screen within roughly 16 milliseconds. [Profile\n your app](/studio/profile/dev-options-rendering) using on-device tools to see if and when your app is not meeting this 16 ms average.\n- Reduce or remove animations on low-cost devices to lessen the burden on the device's CPU and GPU. For more information, see [Improve\n layout performance](/develop/ui/views/layout/improving-layouts).\n- An efficient view hierarchy can speed up your app without increasing the app's memory footprint. For more information, see [Performance\n and View Hierarchies.](/topic/performance/optimizing-view-hierarchies)\n\n### Use a launch screen on slow to start apps\n\n- The launch screen is a user's first experience of your application. Displaying a blank canvas while launching your app increases the perception of its loading time, so consider using a placeholder UI or a branded launch screen to reduce the perceived loading time.\n- A[placeholder UI](https://material.io/design/communication/launch-screen.html#placeholder-ui) is the most seamless launch transition, appropriate for both app launches and in-app activity transitions.\n- [Branded launch screens](/guide/topics/ui/splash-screen) provide momentary brand exposure, freeing the UI to focus on content.\n- The best way to deal with slow start speeds is not to have them. [Launch-Time Performance](/topic/performance/launch-time) provides information that may help you speed up your app's launch time.\n\nUser interface best practices\n-----------------------------\n\n- [Material Design](https://material.io/guidelines/material-design/introduction.html) is a visual language that synthesizes the classic principles of good design with the innovation and possibility of technology and science. Material Design provides a single underlying system that allows for a unified experience across platforms and device sizes. Consider using key Material Design components so that users intuitively know how to use your app.\n- Ready-to-use Material Design components are available in the [Material Design Support\n library](/topic/libraries/support-library/features#material-design). These components are supported in Android 2.1 (API level 7) and above.\n\nLocalization\n------------\n\n- Your users could be from any part of the world and their first language may not be yours. If you don't present your app in a language that your users can read, it is a missed opportunity. You should therefore localize your app for key regional languages.\n- To learn more, visit the Android training on [Supporting\n Different Languages](/training/basics/supporting-devices/languages) and see the [localization checklist](/distribute/tools/localization-checklist).\n- Starting from Android 7.0 (API level 24), the Android framework makes available a subset of the [ICU4J APIs](http://userguide.icu-project.org/), which can help you localize your app into multiple languages. For more information, see [ICU4J Android Framework APIs.](/guide/topics/resources/icu4j-framework)\n\n\u003cbr /\u003e\n\nAdditional resources\n--------------------\n\nTo learn more about this topic, view the following additional resources:\n\n### Further topics\n\n- [Keeping your app responsive](/training/articles/perf-anr)\n- [Improving layout performance](/training/improving-layouts)\n- [Introduction to animations](/training/animation/overview)\n\n### Blog posts\n\n- [Writing for global audiences](https://medium.com/google-design/writing-for-global-audiences-d339d23e9612)"]]