Android 10 dibuat dengan tiga tema penting. Pertama, Android 10 membentuk keunggulan inovasi seluler dengan machine learning canggih dan dukungan untuk perangkat yang sedang populer seperti perangkat foldable dan ponsel yang mendukung 5G. Selain itu, Android 10 juga menitikberatkan fokus pada privasi dan keamanan, dengan hampir 50 fitur yang memberikan perlindungan, transparansi, dan kontrol yang lebih baik kepada pengguna. Terakhir, Android 10 juga memperluas kontrol kesehatan digital pengguna sehingga seseorang dan keluarga dapat menemukan keseimbangan yang lebih baik dengan teknologi.
Berikut adalah hal yang disajikan Android 10 untuk developer dan cara Anda dapat menggunakannya sekarang.
Inovasi dan pengalaman baru
Dengan Android 10, Anda dapat memanfaatkan inovasi hardware dan software terbaru untuk menciptakan pengalaman aplikasi yang menakjubkan bagi pengguna.
Perangkat foldable
Berkat dukungan multi-aplikasi yang tangguh, Android 10 memperluas multitasking pada seluruh jendela aplikasi dan memberikan kontinuitas layar untuk menjaga status aplikasi saat perangkat terlipat atau terbuka. Android 10 menambahkan sejumlah peningkatan pada onResume dan onPause untuk mendukung multi-resume dan memberi tahu aplikasi Anda saat memiliki fokus. Tindakan ini juga mengubah cara kerja atribut manifes resizeableActivity, untuk membantu Anda mengelola cara aplikasi ditampilkan di perangkat foldable dan layar berukuran besar. Untuk membantu mem-build perangkat foldable, Anda dapat mengonfigurasi emulator foldable sebagai perangkat virtual (AVD) di Android Studio. Untuk mengetahui detail tentang cara mengoptimalkan aplikasi bagi perangkat foldable, lihat panduan developer.
Jaringan 5G
5G menjanjikan kecepatan yang konsisten lebih tinggi dan latensi yang lebih rendah, Android 10 menambahkan dukungan platform untuk 5G dan memperluas API yang ada untuk membantu Anda memanfaatkan peningkatan ini. Anda dapat menggunakan API konektivitas untuk mendeteksi apakah perangkat memiliki koneksi bandwidth tinggi dan memeriksa apakah koneksi tersebut terukur. Dengan ini, aplikasi dan game Anda dapat menyesuaikan pengalaman yang beragam dan imersif bagi pengguna melalui 5G.
Smart Reply pada notifikasi
Android 10 menggunakan ML di perangkat untuk menyarankan tindakan kontekstual pada notifikasi, seperti balasan pintar untuk pesan atau membuka peta menuju suatu alamat dalam notifikasi. Aplikasi Anda dapat segera memanfaatkan fitur ini, tanpa perlu melakukan apa pun. Smart reply dan tindakan yang disediakan sistem disisipkan langsung ke dalam notifikasi secara default. Anda tetap dapat memberikan balasan dan tindakan Anda sendiri jika mau. Anda cukup memilih untuk tidak menyertakan Smart Reply berdasarkan notifikasi menggunakan setAllowGeneratedReplies() dan setAllowSystemGeneratedContextualActions().
Tema Gelap
Android 10 menambahkan tema gelap di seluruh sistem yang ideal untuk pencahayaan rendah dan membantu menghemat baterai. Pengguna dapat mengaktifkan tema gelap baru di seluruh sistem dengan membuka Setelan atau mengaktifkan Penghemat Baterai. Tindakan ini akan mengubah UI sistem menjadi gelap, dan mengaktifkan tema gelap aplikasi pendukung. Anda dapat mem-build tema gelap kustom untuk aplikasi Anda atau memilih fitur Force Dark baru yang memungkinkan sistem membuat versi gelap secara dinamis dari tema yang ada. Anda juga dapat memanfaatkan fitur DayNight AppCompat untuk menawarkan tema gelap bagi pengguna di Android versi lama. Lihat panduan developer untuk mengetahui informasi selengkapnya.
Navigasi gestur
Android 10 memperkenalkan mode navigasi gestur lengkap yang menghilangkan area panel navigasi dan memungkinkan aplikasi menggunakan layar penuh untuk memberikan beragam pengalaman yang lebih imersif. Hal ini mempertahankan navigasi Kembali, Beranda, dan Terkini yang ada melalui gestur geser tepi, bukan tombol yang terlihat. Agar menyatu secara lancar dengan navigasi gestur, Anda harus menggerakan dari tepi-ke-tepi, yang menggambar di belakang menu navigasi untuk menciptakan pengalaman yang imersif. Untuk menerapkan hal ini, aplikasi harus menggunakan setSystemUiVisibility() API yang dimunculkan di layar penuh, lalu menangani WindowInsets seperti yang sesuai untuk memastikan potongan UI yang penting tidak tertutup. Mulai optimalkan aplikasi Anda sekarang, dan lihat rangkaian postingan blog kami untuk informasi selengkapnya.
Panel Setelan
Kini Anda dapat menampilkan setelan sistem utama secara langsung dalam konteks aplikasi, melalui Settings Panel API yang baru. Panel setelan adalah UI mengambang yang Anda panggil untuk menampilkan setelan yang mungkin diperlukan pengguna, seperti konektivitas internet, NFC, dan volume audio. Misalnya, browser dapat menampilkan panel dengan setelan konektivitas seperti Mode Pesawat, Wi-Fi (termasuk jaringan di sekitar), dan Data Seluler. Untuk menampilkan panel setelan, cukup aktifkan intent dengan salah satu tindakan Settings.Panel baru.
Berbagi pintasan
Berbagi Pintasan membuat aktivitas berbagi jadi lebih cepat dan mudah, sehingga memungkinkan pengguna beralih langsung ke aplikasi lain untuk berbagi konten. Developer dapat memublikasikan target berbagi yang meluncurkan aktivitas tertentu di aplikasi mereka dengan konten yang dilampirkan, dan ini ditampilkan kepada pengguna di UI berbagi. Karena telah dipublikasikan sebelumnya, UI berbagi akan dimuat langsung saat diluncurkan. Berbagi Pintasan mirip dengan Pintasan Aplikasi dan menggunakan ShortcutInfo API yang sama. API ini juga didukung di library ShareTarget AndroidX. Lihat contoh aplikasi untuk mengetahui detailnya.
Privasi untuk pengguna
Privasi adalah fokus utama di Android 10, mulai dari perlindungan yang lebih kuat di platform hingga fitur baru yang didesain dengan mempertimbangkan privasi. Berdasarkan rilis sebelumnya, Android 10 menghadirkan perubahan yang luas untuk melindungi privasi dan memberikan kontrol lebih kepada pengguna, dengan UI sistem yang disempurnakan, izin yang lebih ketat, dan pembatasan pada aplikasi data yang dapat digunakan. Lihat perubahan privasi untuk mengetahui detail tentang cara mendukungnya di aplikasi Anda.
Memberi pengguna kontrol lebih atas data lokasi - Pengguna memiliki kontrol lebih atas data lokasinya melalui opsi izin baru -- pengguna kini dapat mengizinkan aplikasi mengakses lokasi hanya saat aplikasi sedang digunakan (berjalan di latar depan). Untuk sebagian besar aplikasi, hal ini memberikan level akses yang memadai, sementara bagi pengguna, hal ini merupakan peningkatan besar dalam transparansi dan kontrol. Untuk mempelajari lebih lanjut perubahan lokasi, lihat panduan developer atau postingan blog kami.
Melindungi data lokasi dalam pemindaian jaringan - Sebagian besar API untuk jaringan pemindaian telah mewajibkan izin akses lokasi sementara. Android 10 meningkatkan perlindungan di sekitar API tersebut dengan mewajibkan izin akses lokasi terperinci.
Mencegah pelacakan perangkat - Aplikasi tidak lagi dapat mengakses ID perangkat yang tidak dapat direset yang dapat digunakan untuk melacak, termasuk IMEI perangkat, nomor seri, dan ID yang serupa. Alamat MAC perangkat juga diacak saat terhubung ke jaringan Wi-Fi secara default. Baca praktik terbaik untuk membantu Anda memilih ID yang tepat untuk kasus penggunaan Anda, dan lihat detailnya di sini.
Mengamankan data pengguna dalam penyimpanan eksternal - Android 10 menghadirkan sejumlah perubahan guna memberikan kontrol yang lebih pada pengguna atas file dalam penyimpanan eksternal dan data aplikasi di dalamnya. Aplikasi dapat menyimpan filenya sendiri dalam sandbox pribadinya, tetapi harus menggunakan MediaStore untuk mengakses file media bersama dan menggunakan pemilih file sistem untuk mengakses file bersama di koleksi Download baru. Pelajari lebih lanjut di sini.
Memblokir gangguan yang tidak diinginkan - Android 10 mencegah peluncuran aplikasi dari latar belakang yang tiba-tiba muncul di latar depan dan mengambil alih fokus dari aplikasi lain. Pelajari lebih lanjut di sini.
Keamanan
Android 10 memperkenalkan sejumlah fitur yang lebih menjaga keamanan pengguna dengan kecanggihan enkripsi, hardening platform, dan autentikasi. Baca selengkapnya tentang update keamanan Android 10 di sini.
Enkripsi penyimpanan - Semua perangkat kompatibel yang diluncurkan dengan Android 10 diperlukan untuk mengenkripsi data pengguna, dan agar lebih efisien, Android 10 menyertakan Adiantum, mode enkripsi baru kami.
TLS 1.3 secara default - Android 10 juga mengaktifkan TLS 1.3 secara default, suatu revisi besar pada standar TLS dengan manfaat performa dan peningkatan keamanan.
Hardening platform - Android 10 juga mencakup hardening untuk beberapa area penting keamanan platform.
Biometrik yang Disempurnakan - Android 10 memperluas framework BiometricPrompt untuk mendukung metode autentikasi pasif seperti wajah, dan menambahkan alur autentikasi implisit dan eksplisit. Dalam alur eksplisit, pengguna harus mengonfirmasi transaksi secara eksplisit di TEE selama autentikasi. Alur implisit dirancang untuk alternatif yang lebih ringan untuk transaksi dengan autentikasi pasif. Android 10 juga meningkatkan penggantian untuk kredensial perangkat jika diperlukan. Pelajari lebih lanjut di sini.
Kamera dan media
Dynamic depth untuk foto
Kini aplikasi dapat meminta gambar Dynamic Depth, yang terdiri dari JPEG, metadata XMP yang berkaitan dengan elemen terkait kedalaman, serta peta kedalaman dan keyakinan yang disematkan dalam file yang sama. Hal ini memungkinkan Anda menawarkan opsi blur khusus dan bokeh di aplikasi Anda. Dynamic Depth adalah format terbuka untuk ekosistem tersebut dan kami bekerja sama dengan partner untuk menghadirkannya pada perangkat yang menjalankan Android 10 dan versi lebih baru.
Perekaman pemutaran audio
Kini, setiap aplikasi yang memutar audio dapat membiarkan aplikasi lain merekam streaming audionya menggunakan API perekaman pemutaran audio baru. Selain mengaktifkan teks dan subtitel, API memungkinkan Anda mendukung kasus penggunaan yang populer seperti game live streaming. Kami telah membuat kemampuan baru ini dengan mempertimbangkan perlindungan hak cipta dan privasi, sehingga kemampuan aplikasi untuk merekam audio aplikasi lain dapat dibatasi, dan aplikasi dapat memegang kendali penuh terhadap perekaman streaming audionya. Baca selengkapnya di postingan blog ini.
Codec video dan audio baru
Android 10 menambahkan dukungan untuk codec video open source AV1, yang memungkinkan penyedia media streaming konten video berkualitas tinggi ke perangkat Android menggunakan sedikit bandwidth. Selain itu, Android 10 mendukung encoding audio menggunakan Opus - codec terbuka bebas royalti yang dioptimalkan untuk streaming suara dan musik - dan HDR10+ untuk video rentang dinamis tinggi (HDR) pada perangkat yang mendukungnya. MediaCodecInfo API memperkenalkan cara yang lebih mudah untuk menentukan kemampuan rendering video dari perangkat Android. Untuk codec tertentu, Anda dapat memperoleh daftar ukuran dan frekuensi gambar yang didukung.
Native MIDI API
Untuk aplikasi yang melakukan pemrosesan audio di C++, Android 10 memperkenalkan MIDI API native untuk berkomunikasi dengan perangkat MIDI melalui NDK. API ini memungkinkan data MIDI diambil di dalam callback audio menggunakan pembacaan non-blocking, yang memungkinkan pemrosesan pesan MIDI dengan latensi rendah. Cobalah dengan aplikasi contoh dan kode sumber di sini.
Mikrofon terarah yang dapat di-zoom
Android 10 memberi Anda kontrol lebih terhadap perekaman audio melalui MicrophoneDirection API yang baru. Anda dapat menggunakan API untuk menentukan arah mikrofon yang diinginkan saat merekam audio. Misalnya, saat pengguna mengambil video "selfie", Anda dapat meminta mikrofon hadap depan untuk merekam audio (jika ada). Selain itu, API ini memperkenalkan cara standar untuk mengontrol mikrofon yang dapat di-zoom, yang memungkinkan aplikasi Anda memiliki kontrol atas dimensi kolom perekaman.
Vulkan di mana saja
Android 10 memperluas dampak Vulkan dengan penerapan kami API lintas platform dengan overhead rendah untuk grafis 3D berperforma tinggi. Vulkan 1.1 kini menjadi persyaratan di semua perangkat 64-bit yang menjalankan Android 10 dan versi yang lebih baru, serta direkomendasikan untuk semua perangkat 32-bit. Kami telah melihat momentum yang signifikan pada dukungan Vulkan dalam ekosistem tersebut - di antara perangkat yang menjalankan Android N atau yang lebih baru, 53% mendukung Vulkan 1.0.3 atau yang lebih tinggi. Dengan persyaratan baru di Android 10, kami berharap penerapannya akan semakin meningkat di tahun mendatang.
Konektivitas
Penyempurnaan konektivitas internet dan peer-to-peer
Kami telah memfaktorkan ulang stack Wi-Fi untuk meningkatkan privasi dan performa, serta meningkatkan kasus penggunaan umum seperti mengelola perangkat IoT dan menyarankan koneksi internet, tanpa memerlukan izin akses lokasi. API koneksi jaringan mempermudah pengelolaan perangkat IoT melalui Wi-Fi lokal, untuk fungsi peer-to-peer seperti mengonfigurasi, mendownload, atau mencetak. API saran jaringan memungkinkan aplikasi menampilkan jaringan Wi-Fi pilihan kepada pengguna untuk konektivitas internet.
Mode performa Wi-Fi
Aplikasi kini dapat meminta Wi-Fi adaptif dengan mengaktifkan mode latensi rendah dan berperforma tinggi.
Hal ini dapat menjadi keuntungan besar jika latensi rendah penting bagi pengalaman pengguna, seperti game real-time, panggilan suara aktif, dan kasus penggunaan yang serupa. Platform ini bekerja dengan firmware perangkat untuk memenuhi
persyaratan dengan konsumsi daya terendah. Untuk menggunakan mode performa baru,
panggil WifiManager.WifiLock.createWifiLock()
dengan WIFI_MODE_FULL_LOW_LATENCY
atau WIFI_MODE_FULL_HIGH_PERF
. Dalam mode
ini, platform bekerja dengan firmware perangkat untuk memenuhi persyaratan
dengan konsumsi daya terendah.
Dasar-dasar Android
Pengoptimalan ART
Peningkatan runtime ART membantu aplikasi Anda dimulai lebih cepat, menggunakan lebih sedikit memori, dan berjalan lebih lancar, tanpa memerlukan upaya apa pun dari Anda. Profil ART yang dikirimkan oleh Google Play memungkinkan ART mengompilasi bagian aplikasi Anda sebelum dijalankan. Saat runtime, Android 10 menambahkan Generational Garbage Collection ke Concurrent Copying (CC) Garbage Collector ART dari CV untuk menjadikan pembersihan sampah memori lebih efisien dalam hal waktu dan CPU, mengurangi jank, dan membantu aplikasi berjalan lebih baik di perangkat kelas bawah.
Neural Networks API 1.2
Kami telah menambahkan 60 operasi baru termasuk ARGMAX, ARGMIN, LSTM terkuantisasi, bersama dengan berbagai optimasi performa. Hal ini menjadi dasar untuk mempercepat rentang model yang jauh lebih luas, seperti untuk deteksi objek dan segmentasi gambar. Kami bekerja sama dengan vendor hardware dan framework machine learning populer seperti TensorFlow untuk mengoptimalkan dan meluncurkan dukungan untuk NNAPI 1.2.
Thermal API
Jika menjadi terlalu panas, perangkat dapat men-throttle CPU dan/atau GPU, dan hal ini dapat memengaruhi aplikasi secara tidak terduga. Kini di Android 10, aplikasi dan game dapat menggunakan thermal API untuk memantau perubahan pada perangkat dan melakukan tindakan guna membantu mengembalikan ke suhu normal. Misalnya, aplikasi streaming dapat mengurangi resolusi/kecepatan bit atau traffic jaringan, aplikasi kamera dapat menonaktifkan flash atau penyempurnaan gambar intensif, atau game dapat mengurangi kecepatan frame atau tessellation poligon. Baca selengkapnya di sini.
Kompatibilitas melalui API publik
Android 10 terus memperluas pembatasan pada antarmuka non-SDK, agar aplikasi secara bertahap menuju hanya menggunakan API publik. Jika antarmuka yang saat ini Anda gunakan dibatasi, Anda dapat meminta API publik baru untuk antarmuka tersebut. Untuk membantu Anda melakukan transisi dan mencegah aplikasi agar tidak error, kami akan mengaktifkan pembatasan hanya jika aplikasi Anda menargetkan Android 10 (API 29). Untuk mengetahui detail selengkapnya tentang pembatasan, lihat panduan developer.
Update lebih cepat, kode baru
Android 10 dibuat untuk update yang lebih cepat melalui Project Treble, yang menyediakan antarmuka yang konsisten dan dapat diuji antara Android dan kode perangkat yang mendasarinya dari pembuat perangkat dan produsen silikon. Melalui Treble, produsen perangkat dapat membawa Android 10 ke perangkat yang kompatibel dengan Treble dengan lebih cepat dan biaya lebih terjangkau.
Android 10 juga merupakan rilis pertama yang mendukung Project Mainline (yang secara resmi disebut update sistem Google Play), yaitu teknologi baru kami yang berfungsi menjaga keamanan pengguna Android serta menjaga perangkatnya tetap update dengan perubahan kode penting, langsung dari Google Play. Dengan update sistem Google Play, kami dapat mengupdate komponen internal tertentu di semua perangkat yang menjalankan Android 10 dan versi yang lebih baru, tanpa memerlukan update sistem lengkap dari produsen perangkat.
Bagi developer, kami mengharapkan update di Android 10 ini dapat membantu mendorong konsistensi penerapan platform secara luas di seluruh perangkat, dan seiring waktu menghadirkan keseragaman lebih besar yang akan mengurangi biaya pengembangan dan pengujian Anda.
Memulai
Untuk mengetahui referensi developer lengkap untuk Android 10, buka developer.android.com/10.