Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Android 10 untuk Developer

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.

Dengan Android 10, Anda dapat mengoptimalkan aplikasi untuk foldable dan perangkat layar besar lainnya.

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 penyempurnaan pada onResume dan onPause guna mendukung multi-resume dan memberi tahu aplikasi Anda saat fitur tersebut memiliki fokus. Tindakan ini juga mengubah cara kerja atribut manifes resizeableActivity untuk membantu Anda mengelola bagaimana aplikasi ditampilkan pada 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 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 penyempurnaan ini. Anda dapat menggunakan API konektivitas untuk mendeteksi apakah perangkat memiliki koneksi bandwidth tinggi dan memeriksa apakah sambungan telah terukur. Dengan ini, aplikasi dan game Anda dapat menyesuaikan pengalaman yang beragam dan imersif bagi pengguna terhadap 5G.

Smart Reply pada notifikasi

Android 10 menggunakan ML di perangkat untuk menyarankan tindakan kontekstual pada notifikasi, seperti smart reply 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().

Smart Reply dapat menyarankan tindakan berdasarkan konten notifikasi.

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 informasi selengkapnya.

Android 10 dapat membuat tema gelap untuk aplikasi Anda secara dinamis dengan Force Dark.

Navigasi gestur

Navigasi gestur memberikan layar penuh konten bagi aplikasi.

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 panel navigasi untuk menciptakan pengalaman yang imersif. Untuk menerapkan hal ini, aplikasi harus menggunakan setSystemUiVisibility() API yang dimunculkan di layar penuh, kemudian menangani WindowInsets yang sesuai untuk memastikan potongan UI yang penting tidak tertutup. Mulai optimalkan aplikasi Anda sekarang, dan lihat rangkaian entri 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 floating yang Anda gunakan 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 yang 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 App dan menggunakan ShortcutInfo API yang sama. API juga didukung di library ShareTarget AndroidX. Lihat contoh aplikasi untuk detailnya.

Dengan berbagi pintasan, pengguna dapat langsung beralih ke aktivitas tertentu di aplikasi Anda dengan konten yang dilampirkan.

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 hingga izin dan batasan yang lebih ketat pada aplikasi data yang dapat digunakan. Lihat perubahan privasi untuk detail tentang cara mendukung di aplikasi Anda.

Pengguna kini dapat memilih apakah akan memberikan akses ke lokasi saat aplikasi berada di latar depan.

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 tentang perubahan lokasi, lihat panduan developer atau entri 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 disetel ulang yang dapat digunakan untuk melacak, termasuk IMEI atau nomor seri perangkat, dan ID yang serupa. Alamat MAC perangkat juga diacak saat tersambung ke jaringan Wi-Fi secara default. Baca praktik terbaik untuk membantu 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 alat pilih 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 menghadirkan 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, yaitu 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 keunggulan performa dan penyempurnaan 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, serta 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 pada transaksi dengan autentikasi pasif. Android 10 juga menyempurnakan penggantian untuk kredensial perangkat bila 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 keyakinan dan kedalaman yang disematkan dalam file yang sama. Hal ini memungkinkan Anda untuk menawarkan opsi blur khusus dan bokeh di aplikasi Anda. Dynamic Depth adalah format terbuka untuk ekosistem tersebut dan kami bekerja bersama partner untuk menghadirkannya pada perangkat yang menjalankan Android 10 dan versi lebih baru.

Dengan gambar Dynamic Depth, Anda dapat menawarkan opsi blur khusus dan bokeh di aplikasi Anda.

Perekaman pemutaran audio

Kini, setiap aplikasi yang memutar audio dapat membiarkan aplikasi lain merekam streaming audionya dengan API perekaman pemutaran audio baru. Selain mengaktifkan caption dan subtitel, API memungkinkan Anda mendukung kasus penggunaan yang sedang 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 entri 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 pada perangkat Android menggunakan sedikit bandwidth. Selain itu, Android 10 juga mendukung encoding audio dengan Opus, suatu codec bebas royalti dan terbuka yang dioptimalkan untuk streaming suara dan musik, dan HDR10 + untuk video rentang dinamis tinggi (HDR) pada perangkat yang mendukungnya. MediaCodecInfo API menghadirkan 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.

MIDI API Native

Untuk aplikasi yang menjalankan pemrosesan audionya di C ++, Android 10 menghadirkan MIDI API native untuk berkomunikasi dengan perangkat MIDI melalui NDK. API ini memungkinkan data MIDI untuk diambil dalam callback audio dengan pembacaan non-blocking, yang memungkinkan pemrosesan pesan MIDI dengan latensi rendah. Cobalah dengan contoh aplikasi 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 juga menghadirkan cara standar untuk mengontrol mikrofon yang dapat di-zoom, yang memungkinkan aplikasi Anda memiliki kontrol terhadap dimensi kolom perekaman.

Vulkan di mana saja

Android 10 memperluas dampak Vulkan dengan penerapan 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 disarankan 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 baru, 53% mendukung Vulkan 1.0.3 atau versi lebih baru. 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 menyempurnakan privasi dan performa, serta meningkatkan kasus penggunaan umum seperti mengelola perangkat IoT dan menyarankan sambungan 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 untuk memunculkan 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 tersebut bekerja dengan firmware perangkat untuk memenuhi persyaratan dengan konsumsi daya terendah.

Dasar-dasar Android

Pengoptimalan ART

Penyempurnaan waktu proses ART membantu aplikasi Anda untuk bekerja lebih cepat, mengurangi penggunaan memori, dan berjalan lebih lancar, tanpa memerlukan upaya apa pun dari Anda. Profil ART yang ditayangkan oleh Google Play memungkinkan ART untuk 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.

Diagram ini menunjukkan peningkatan persentase waktu mulai untuk aplikasi tertentu saat diuji dengan profil Google Play.

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 yang populer seperti TensorFlow untuk mengoptimalkan dan meluncurkan dukungan untuk NNAPI 1.2.

Thermal API

Jika terlalu panas, perangkat dapat menekan CPU dan/atau GPU, dan akibatnya aplikasi dan game dapat terpengaruh dengan cara 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 suatu game dapat menurunkan frekuensi gambar atau polygon tessellation. 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 sedang digunakan 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 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 menghadirkan Android 10 pada perangkat yang kompatibel 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

Referensi developer untuk Android 10 yang lebih lengkap dapat dilihat di developer.android.com/10.