Android KitKat

Android 4.4 di ponsel dan tablet

Selamat datang di Android 4.4 KitKat!

Android KitKat menghadirkan semua fitur Android yang paling inovatif, paling indah, dan paling berguna ke lebih banyak perangkat di mana saja.

Dokumen ini memberikan gambaran sekilas tentang hal-hal yang baru bagi developer.

Cari tahu lebih lanjut tentang KitKat untuk konsumen di www.android.com.

Menjadikan Android untuk siapa saja

Android 4.4 dirancang untuk berjalan cepat, mulus, dan responsif pada berbagai perangkat yang jauh lebih luas daripada sebelumnya — termasuk pada jutaan perangkat entry-level di seluruh dunia yang memiliki RAM 512 MB saja.

KitKat menyederhanakan setiap komponen utama untuk mengurangi penggunaan memori dan memperkenalkan API serta alat baru untuk membantu Anda membuat aplikasi yang inovatif, responsif, dan hemat memori.

OEM yang membuat perangkat Android generasi berikutnya dapat memanfaatkan rekomendasi dan opsi yang ditargetkan untuk menjalankan Android 4.4 secara efisien, bahkan di perangkat dengan memori rendah. Penyesuaian cache kode JIT Dalvik, kernel samepage merging (KSM), pertukaran ke zRAM, dan pengoptimalan lainnya membantu mengelola memori. Opsi konfigurasi baru memungkinkan OEM menyesuaikan tingkat kehabisan memori untuk proses, menetapkan ukuran cache grafis, mengontrol pemulihan memori, dan lainnya.

Di Android sendiri, perubahan di seluruh sistem meningkatkan manajemen memori dan mengurangi footprint memori. Proses sistem inti dipangkas untuk menggunakan lebih sedikit heap, dan kini lebih agresif melindungi memori sistem dari aplikasi yang menggunakan RAM dalam jumlah besar. Jika beberapa layanan dimulai sekaligus — seperti saat konektivitas jaringan berubah — Android kini meluncurkan layanan secara serial, dalam grup kecil, untuk menghindari permintaan memori yang tinggi.

Bagi developer, Android 4.4 membantu Anda menghadirkan aplikasi yang efisien dan responsif di semua perangkat. API baru, ActivityManager.isLowRamDevice(), memungkinkan Anda menyesuaikan perilaku aplikasi agar cocok dengan konfigurasi memori perangkat. Anda dapat memodifikasi atau menonaktifkan fitur memori besar sesuai kebutuhan, bergantung pada kasus penggunaan yang ingin Anda dukung pada perangkat entry-level. Pelajari lebih lanjut cara mengoptimalkan aplikasi untuk perangkat bermemori rendah di sini.

Alat-alat baru juga memberikan Anda analisis yang kuat tentang penggunaan memori aplikasi. Alat procstats menjelaskan penggunaan memori dari waktu ke waktu, dengan waktu proses dan jejak memori untuk aplikasi latar depan dan layanan latar belakang. Tampilan di perangkat juga tersedia sebagai opsi developer baru. Alat meminfo ditingkatkan kualitasnya agar lebih mudah untuk menemukan tren dan masalah memori, serta mengungkapkan overhead memori tambahan yang sebelumnya belum terlihat.

Kemampuan NFC baru melalui Emulasi Kartu Host

Android 4.4 memperkenalkan dukungan platform baru untuk transaksi berbasis NFC yang aman melalui Emulasi Kartu Host (HCE), untuk pembayaran, program loyalitas, akses kartu, tiket multi-trip, dan layanan kustom lainnya. Dengan HCE, aplikasi apa pun di perangkat Android dapat mengemulasikan kartu smart NFC, yang memungkinkan pengguna mengetuk untuk memulai transaksi dengan aplikasi pilihan mereka — tidak diperlukan elemen pengaman (SE) yang disediakan di perangkat. Aplikasi juga dapat menggunakan Mode Pembaca baru agar berfungsi sebagai pembaca kartu HCE dan transaksi berbasis NFC lainnya.

Simbol nirsentuh

Android HCE mengemulasikan kartu smart berbasis ISO/IEC 7816 yang menggunakan protokol ISO/IEC 14443-4 (ISO-DEP) nirsentuh untuk transmisi. Saat ini, kartu ini digunakan oleh banyak sistem, termasuk infrastruktur pembayaran EMVCO NFC yang sudah ada. Android menggunakan ID Aplikasi (AID) seperti yang ditetapkan dalam ISO/IEC 7816-4 sebagai dasar untuk merutekan transaksi ke aplikasi Android yang benar.

Aplikasi mendeklarasikan AID yang didukungnya dalam file manifes, beserta ID kategori yang menunjukkan jenis dukungan yang tersedia (misalnya, "pembayaran"). Jika beberapa aplikasi mendukung AID yang sama dalam kategori yang sama, Android akan menampilkan dialog yang memungkinkan pengguna memilih aplikasi yang akan digunakan.

Ketika pengguna mengetuk untuk membayar di terminal tempat penjualan, sistem akan mengekstrak AID yang dipilih dan merutekan transaksi ke aplikasi yang benar. Aplikasi akan membaca data transaksi dan dapat menggunakan layanan lokal atau layanan berbasis jaringan untuk memverifikasi, lalu menyelesaikan transaksi.

Android HCE mengharuskan pengontrol NFC ada di perangkat. Dukungan untuk HCE sudah tersedia secara luas di sebagian besar pengontrol NFC, yang menawarkan dukungan dinamis untuk transaksi HCE dan SE. Perangkat Android 4.4 yang mendukung NFC akan menyertakan fitur Tempel & Bayar untuk memudahkan pembayaran menggunakan HCE.

Kerangka kerja pencetakan

Aplikasi Android kini dapat mencetak semua jenis konten melalui Wi-Fi atau layanan yang dihosting di cloud seperti Google Cloud Print. Pada aplikasi yang mendukung pencetakan, pengguna dapat menemukan printer yang tersedia, mengubah ukuran kertas, memilih halaman tertentu untuk dicetak, dan mencetak hampir semua jenis dokumen, gambar, atau file.

Android 4.4 memperkenalkan dukungan platform native untuk pencetakan, bersama dengan API untuk mengelola pencetakan dan menambahkan jenis dukungan printer baru. Platform ini menyediakan pengelola cetak yang memediasi antara aplikasi yang meminta pencetakan dan layanan cetak terinstal yang menangani permintaan cetak. Pengelola cetak menyediakan layanan bersama dan UI sistem untuk dicetak, sehingga pengguna memiliki kontrol yang konsisten atas pencetakan dari aplikasi apa pun. Pengelola cetak juga memastikan keamanan konten saat diteruskan lintas proses, dari aplikasi ke layanan cetak.

Ponsel dalam orientasi lanskap yang menampilkan fitur dukungan printer

Anda dapat menambahkan dukungan pencetakan ke aplikasi atau mengembangkan layanan cetak untuk mendukung jenis printer tertentu.

Produsen printer dapat menggunakan API baru untuk mengembangkan layanan cetak mereka sendiri — komponen yang dapat dicocokkan yang menambahkan logika dan layanan khusus vendor untuk berkomunikasi dengan jenis printer tertentu. Mereka dapat membuat layanan cetak dan mendistribusikannya melalui Google Play, sehingga memudahkan pengguna untuk menemukan dan menginstalnya di perangkat mereka. Sama seperti aplikasi lain, Anda dapat mengupdate layanan cetak melalui udara kapan saja.

Aplikasi klien dapat menggunakan API baru untuk menambahkan kemampuan pencetakan ke aplikasi mereka dengan perubahan kode yang minimal. Pada umumnya, Anda perlu menambahkan tindakan cetak ke Panel Tindakan dan UI untuk memilih item yang akan dicetak. Anda juga harus mengimplementasikan API untuk membuat tugas pencetakan, melakukan kueri ke pengelola cetak untuk mengetahui status, dan membatalkan tugas. Hal ini memungkinkan Anda mencetak hampir semua jenis konten, mulai dari gambar dan dokumen lokal hingga data jaringan atau tampilan yang dirender ke kanvas.

Untuk kompatibilitas terluas, Android menggunakan PDF sebagai format file utama untuk pencetakan. Sebelum mencetak, aplikasi Anda perlu membuat versi PDF yang telah diberi nomor halaman dengan benar untuk konten Anda. Untuk memudahkan, API pencetakan menyediakan class helper native dan WebView agar Anda dapat membuat PDF menggunakan API gambar Android standar. Jika mengetahui cara menggambar konten, aplikasi Anda dapat dengan cepat membuat PDF untuk dicetak.

Sebagian besar perangkat yang menjalankan Android 4.4 menyertakan Google Cloud Print yang telah terinstal sebagai layanan cetak, serta beberapa aplikasi Google yang mendukung pencetakan, termasuk Chrome, Drive, Gallery, dan QuickOffice.

Storage Access Framework

Framework akses penyimpanan yang baru memudahkan pengguna untuk menjelajahi dan membuka dokumen, gambar, dan file lainnya di seluruh penyedia penyimpanan dokumen pilihan mereka. UI standar yang mudah digunakan memungkinkan pengguna menjelajahi file dan mengakses yang terbaru secara konsisten di seluruh aplikasi dan penyedia.

Perangkat seluler yang menampilkan sidebar terbuka dalam framework akses penyimpanan baru Perangkat seluler yang menampilkan layanan Box terintegrasi dalam framework akses penyimpanan yang baru

Box dan lainnya telah mengintegrasikan layanan mereka ke dalam framework akses penyimpanan, sehingga pengguna dapat mengakses dokumen mereka dari aplikasi di seluruh sistem dengan mudah.

Layanan penyimpanan cloud atau lokal dapat dilibatkan dalam ekosistem ini dengan menerapkan class penyedia dokumen baru yang merangkum layanannya. Class penyedia menyertakan semua API yang diperlukan untuk mendaftarkan penyedia ke sistem serta mengelola penjelajahan, pembacaan, dan penulisan dokumen di penyedia. Penyedia dokumen dapat memberi pengguna akses ke data jarak jauh atau lokal yang dapat direpresentasikan sebagai file — mulai dari teks, foto, dan wallpaper hingga video, audio, dan lainnya.

Jika Anda membuat penyedia dokumen untuk layanan cloud atau lokal, Anda dapat mengirimkannya kepada pengguna sebagai bagian dari aplikasi Android yang sudah ada. Setelah mendownload dan menginstal aplikasi, pengguna akan memiliki akses instan ke layanan Anda dari aplikasi apa pun yang berpartisipasi dalam framework ini. Hal ini bisa membantu Anda mendapatkan eksposur dan interaksi pengguna, karena pengguna akan menemukan layanan Anda dengan lebih mudah.

Jika mengembangkan aplikasi klien yang mengelola file atau dokumen, Anda dapat berintegrasi dengan framework akses penyimpanan cukup dengan menggunakan intent CREATE_DOCUMENT atau OPEN_DOCUMENT baru untuk membuka atau membuat file — sistem akan otomatis menampilkan UI standar untuk menjelajahi dokumen, termasuk semua penyedia dokumen yang tersedia.

Anda dapat mengintegrasikan aplikasi klien satu kali, untuk semua penyedia, tanpa kode khusus vendor. Saat pengguna menambahkan atau menghapus penyedia, mereka akan tetap memiliki akses ke layanan pilihan mereka dari aplikasi Anda, tanpa perlu mengubah atau update dalam kode Anda.

Framework akses penyimpanan terintegrasi dengan intent GET_CONTENT yang ada, sehingga pengguna juga memiliki akses ke semua konten dan sumber data sebelumnya dari UI sistem yang baru untuk menjelajah. Aplikasi dapat terus menggunakan GET_CONTENT sebagai cara untuk mengizinkan pengguna mengimpor data. Framework akses penyimpanan dan UI sistem untuk penjelajahan mempermudah pengguna dalam menemukan dan mengimpor data mereka dari berbagai sumber.

Sebagian besar perangkat yang menjalankan Android 4.4 akan menyertakan Google Drive dan penyimpanan lokal yang telah terintegrasi sebagai penyedia dokumen. Selain itu, aplikasi Google yang dapat menangani file juga menggunakan framework baru ini.

Sensor rendah daya

Penyatuan sensor

Android 4.4 memperkenalkan dukungan platform untuk pengelompokan sensor hardware, sebuah pengoptimalan baru yang dapat secara dramatis mengurangi konsumsi daya oleh aktivitas sensor yang sedang berlangsung.

Dengan batching sensor, Android dapat digunakan dengan hardware perangkat untuk mengumpulkan dan mengirim peristiwa sensor secara efisien dalam batch, bukan satu per satu saat terdeteksi. Hal ini memungkinkan prosesor aplikasi perangkat tetap dalam status tidak ada aktivitas berdaya rendah hingga batch dikirimkan. Anda dapat meminta batch peristiwa dari sensor apa pun menggunakan pemroses peristiwa standar, dan Anda dapat mengontrol interval untuk menerima batch. Anda juga dapat meminta pengiriman peristiwa segera di antara siklus batch.

Pengelompokan sensor ideal untuk kasus penggunaan yang berdaya rendah dan berjalan lama, seperti kebugaran, pelacakan lokasi, pemantauan, dan banyak lagi. Hal ini dapat membuat aplikasi Anda lebih efisien dan memungkinkan Anda melacak peristiwa sensor secara terus-menerus — bahkan saat layar mati dan sistem sedang tidur.

Pengelompokan sensor saat ini tersedia di Nexus 5, dan kami sedang bekerja sama dengan partner chipset untuk menghadirkannya ke lebih banyak perangkat sesegera mungkin.

Perangkat seluler yang menampilkan dukungan pendeteksi langkah baru Perangkat seluler yang menampilkan dukungan penghitung langkah baru

Moves dan Runtastic Pedometer menggunakan pendeteksi langkah hardware untuk menawarkan layanan yang berjalan lama dan berdaya rendah.

Detektor Langkah dan Penghitung Langkah

Android 4.4 juga menambahkan dukungan platform untuk dua sensor komposit baru — detektor langkah dan penghitung langkah — yang memungkinkan aplikasi Anda melacak langkah saat pengguna berjalan, berlari, atau menaiki tangga. Sensor baru ini diimplementasikan di hardware untuk konsumsi daya rendah.

Detektor langkah menganalisis input akselerometer untuk mengenali saat pengguna melangkah, lalu memicu peristiwa bersama setiap langkah. Penghitung langkah melacak jumlah total langkah sejak perangkat dimulai ulang terakhir dan memicu peristiwa dengan setiap perubahan dalam jumlah langkah. Karena pengelolaan logika dan sensor sudah terintegrasi ke dalam platform dan hardware pokok, Anda tidak perlu memelihara algoritma deteksi sendiri dalam aplikasi.

Sensor pendeteksi langkah dan penghitung tersedia di Nexus 5, dan kami bekerja sama dengan partner chipset untuk menghadirkannya ke perangkat baru sesegera mungkin.

Penyedia SMS

Jika mengembangkan aplikasi pesan yang menggunakan SMS atau MMS, Anda kini dapat menggunakan penyedia SMS bersama dan API baru untuk mengelola penyimpanan dan pengambilan pesan di aplikasi Anda. Penyedia SMS dan API baru menentukan model interaksi terstandardisasi untuk semua aplikasi yang menangani pesan SMS atau MMS.

Bersama dengan penyedia dan API baru, Android 4.4 memperkenalkan semantik baru untuk menerima pesan dan menulis ke penyedia. Saat sebuah pesan diterima, sistem akan merutekannya langsung ke aplikasi pesan default pengguna menggunakan intent SMS_DELIVER yang baru. Aplikasi lain masih dapat memproses pesan masuk menggunakan intent SMS_RECEIVED. Selain itu, sistem kini hanya mengizinkan aplikasi default untuk menulis data pesan ke penyedia, meskipun aplikasi lain dapat membaca kapan saja. Aplikasi yang bukan default pengguna tetap dapat mengirim pesan — sistem akan menangani penulisan pesan tersebut ke penyedia atas nama aplikasi, sehingga pengguna dapat melihatnya di aplikasi default.

Penyedia dan semantik baru membantu meningkatkan pengalaman pengguna ketika beberapa aplikasi pesan diinstal, dan membantu Anda membangun fitur pesan baru dengan API yang didukung sepenuhnya dan kompatibel dengan versi baru.

Cara-cara baru untuk membangun aplikasi yang indah

Ponsel menampilkan fitur mode imersif baru

Mode imersif yang baru memungkinkan aplikasi menggunakan setiap piksel di layar untuk menampilkan konten dan merekam peristiwa sentuh.

Mode yang lebih mendalam layar penuh

Kini aplikasi Anda dapat menggunakan setiap piksel di layar perangkat untuk menampilkan konten dan merekam peristiwa sentuh. Android 4.4 menambahkan mode imersif layar penuh baru yang memungkinkan Anda membuat UI penuh dari tepi ke tepi di ponsel dan tablet, menyembunyikan semua UI sistem seperti status bar dan menu navigasi. Ini ideal untuk konten visual yang kaya seperti foto, video, peta, buku, dan game.

Dalam mode baru tersebut, UI sistem tetap tersembunyi, bahkan saat pengguna berinteraksi dengan aplikasi atau game — Anda dapat merekam peristiwa sentuh dari mana saja di seluruh layar, bahkan area yang biasanya ditempati oleh kolom sistem. Ini memberi Anda cara terbaik untuk membuat UI yang lebih besar, lebih kaya, dan lebih imersif di aplikasi atau game Anda, serta mengurangi gangguan visual.

Untuk memastikan pengguna selalu mendapatkan akses yang mudah dan konsisten ke UI sistem dari mode imersif layar penuh, Android 4.4 mendukung gestur baru — dalam mode imersif, geser dari tepi dari atas atau bawah layar kini akan menampilkan UI sistem.

Untuk kembali ke mode imersif, pengguna dapat menyentuh layar di luar batas batang atau menunggu beberapa saat hingga batang disembunyikan secara otomatis. Untuk pengalaman pengguna yang konsisten, gestur baru ini juga berfungsi dengan metode sebelumnya untuk menyembunyikan status bar.

Kerangka kerja transisi untuk menganimasikan adegan

Sebagian besar aplikasi menyusun alurnya di seputar beberapa status UI utama yang menampilkan berbagai tindakan. Banyak aplikasi juga menggunakan animasi untuk membantu pengguna memahami progres mereka melalui status-status tersebut dan tindakan yang tersedia di setiap status. Untuk mempermudah pembuatan animasi berkualitas tinggi di aplikasi Anda, Android 4.4 memperkenalkan framework transisi baru.

Framework transisi memungkinkan Anda menentukan adegan, biasanya hierarki tampilan, dan transisi, yang menjelaskan cara menganimasikan atau mengubah scene saat pengguna masuk atau keluar dari scene. Anda dapat menggunakan beberapa jenis transisi yang telah ditetapkan untuk menganimasikan scene berdasarkan properti tertentu, seperti batas tata letak, atau visibilitas. Ada juga jenis transisi otomatis yang secara otomatis memudarkan, menggerakkan, dan mengubah ukuran tampilan selama perubahan scene. Selain itu, Anda dapat menentukan transisi kustom yang menganimasikan properti yang paling penting bagi aplikasi Anda, dan jika perlu, Anda dapat memasukkan gaya animasi Anda sendiri.

Dengan framework transisi, Anda juga dapat menganimasikan perubahan pada UI dengan cepat, tanpa perlu menentukan scene. Misalnya, Anda dapat membuat serangkaian perubahan pada hierarki tampilan, lalu meminta TransitionManager secara otomatis menjalankan transisi yang tertunda pada perubahan tersebut.

Setelah menyiapkan transisi, Anda dapat memanggilnya dengan mudah dari aplikasi. Misalnya, Anda dapat memanggil satu metode untuk memulai transisi, membuat berbagai perubahan dalam hierarki tampilan, dan pada animasi frame berikutnya akan otomatis dimulai yang akan menganimasikan perubahan yang Anda tetapkan.

UI sistem tembus pandang

Aplikasi bisa menggunakan gaya jendela baru untuk meminta bilah sistem tembus pandang.

Untuk kontrol kustom atas transisi yang berjalan di antara scene tertentu dalam alur aplikasi, Anda dapat menggunakan TransitionManager. TransitionManager memungkinkan Anda menentukan hubungan antara scene dan transisi yang dijalankan untuk perubahan scene tertentu.

Penataan gaya UI sistem tembus pandang

Untuk mendapatkan dampak maksimal dari konten, kini Anda dapat menggunakan gaya dan tema jendela baru untuk meminta UI sistem transparan, termasuk status bar dan menu navigasi. Untuk memastikan keterbacaan tombol menu navigasi atau informasi status bar, gradien halus ditampilkan di belakang kolom sistem. Kasus penggunaan umum adalah aplikasi yang perlu ditampilkan ke wallpaper.

Akses notifikasi yang disempurnakan

Layanan pemroses notifikasi kini dapat melihat informasi selengkapnya tentang notifikasi masuk yang dibuat menggunakan API builder notifikasi. Layanan pemroses dapat mengakses tindakan notifikasi serta kolom tambahan baru — teks, ikon, gambar, progres, kronometer, dan banyak lagi — untuk mengekstrak informasi yang lebih jelas tentang notifikasi dan menyajikan informasi dengan cara yang berbeda.

Logo Chromium WebView

Chromium WebView

Android 4.4 menyertakan implementasi WebView yang benar-benar baru dan didasarkan pada Chromium. Chromium WebView yang baru memberi Anda dukungan, performa, dan kompatibilitas standar terbaru untuk membangun dan menampilkan konten berbasis web.

Chromium WebView menyediakan dukungan luas untuk HTML5, CSS3, dan JavaScript. Alat ini mendukung sebagian besar fitur HTML5 yang tersedia di Chrome untuk Android 30. Versi ini juga menghadirkan versi JavaScript Engine (V8) terupdate yang menghasilkan performa JavaScript yang jauh lebih baik.

Selain itu, Chromium WebView baru mendukung proses debug jarak jauh menggunakan Chrome DevTools. Misalnya, Anda dapat menggunakan Chrome DevTools di mesin pengembangan untuk memeriksa, men-debug, dan menganalisis konten WebView secara langsung di perangkat seluler.

Chromium WebView baru disertakan di semua perangkat kompatibel yang menjalankan Android 4.4 dan yang lebih tinggi. Anda dapat langsung memanfaatkan WebView baru dan dengan modifikasi minimum pada aplikasi dan konten yang sudah ada. Pada umumnya, konten Anda akan dimigrasikan ke implementasi baru dengan lancar.

Kemampuan media baru

Perekaman layar

Sekarang mudah untuk membuat video berkualitas tinggi di aplikasi Anda, langsung dari perangkat Android. Android 4.4 menambahkan dukungan untuk perekaman layar dan menyediakan utilitas perekaman layar yang memungkinkan Anda memulai dan menghentikan perekaman di perangkat yang terhubung ke lingkungan Android SDK Anda melalui USB. Ini adalah cara baru yang efektif untuk membuat panduan dan tutorial untuk aplikasi, materi pengujian, video pemasaran, dan lainnya.

Dengan utilitas perekaman layar, Anda dapat merekam video konten layar perangkat dan menyimpannya sebagai file MP4 di perangkat. Anda dapat merekam pada resolusi dan kecepatan bit apa pun yang didukung perangkat yang diinginkan, dan outputnya akan mempertahankan rasio aspek tampilan. Secara default, utilitas ini memilih resolusi yang sama atau mendekati resolusi tampilan perangkat dalam orientasi saat ini. Setelah selesai merekam, Anda dapat membagikannya langsung dari perangkat atau mengambil file MP4 ke komputer host untuk pascaproduksi.

Jika aplikasi Anda memutar video atau konten lain yang dilindungi yang tidak ingin direkam oleh perekam layar, Anda dapat menggunakan SurfaceView.setSecure() untuk menandai konten sebagai aman.

Anda dapat mengakses perekaman layar melalui alat adb yang disertakan dalam Android SDK, menggunakan perintah adb shell screenrecord. Anda juga dapat meluncurkannya melalui logcat di Android Studio.

Perpindahan resolusi melalui pemutaran adaptif

Android 4.4 menghadirkan dukungan formal untuk pemutaran adaptif ke dalam framework media Android. Pemutaran adaptif adalah fitur opsional dekoder video untuk format MPEG-DASH dan format lainnya yang memungkinkan perubahan resolusi yang lancar selama pemutaran. Klien dapat mulai melakukan feed frame video input decoder dengan resolusi baru dan resolusi buffer output berubah secara otomatis, tanpa celah yang signifikan.

Pengalihan resolusi di Android 4.4 memungkinkan aplikasi media menawarkan pengalaman video streaming yang jauh lebih baik. Aplikasi dapat memeriksa dukungan pemutaran adaptif saat runtime dengan menggunakan API yang ada dan mengimplementasikan peralihan resolusi menggunakan API baru yang diperkenalkan di Android 4.4.

Common Encryption untuk DASH

Android kini mendukung Common Encryption (CENC) untuk MPEG-DASH, yang menyediakan skema DRM multiplatform standar untuk mengelola konten yang dilindungi. Aplikasi dapat memanfaatkan CENC melalui framework DRM modular Android dan API platform untuk mendukung DASH.

HTTP Live Streaming

Android 4.4 mengupdate dukungan HTTP Live Streaming (HLS) platform ke superset dari spesifikasi HLS versi 7 (protokol versi 4). Lihat draf IETF untuk mengetahui detailnya.

Penyaluran Audio ke DSP

Untuk pemutaran audio berperforma tinggi dan berdaya lebih rendah, Android 4.4 menambahkan dukungan platform untuk tunneling audio ke prosesor sinyal digital (DSP) dalam chipset perangkat. Dengan tunneling, efek dekode dan output audio akan dialihkan bebannya ke DSP, sehingga lebih jarang membangunkan prosesor aplikasi dan menggunakan lebih sedikit daya baterai.

Penyaluran audio dapat meningkatkan masa pakai baterai secara dramatis untuk kasus penggunaan seperti mendengarkan musik melalui headset dengan layar nonaktif. Misalnya, dengan penyaluran audio, Nexus 5 menawarkan total waktu pemutaran audio di luar jaringan hingga 60 jam, peningkatan lebih dari 50% dibandingkan audio yang tidak melalui penyaluran.

Aplikasi media dapat memanfaatkan penyaluran audio pada perangkat yang didukung tanpa perlu mengubah kode. Sistem menerapkan tunneling untuk mengoptimalkan pemutaran audio setiap kali tersedia di perangkat.

Visualizer menampilkan efek audio penambah kenyaringan

Visualisasi bagaimana efek LoudnessPenambah dapat membuat konten ucapan lebih terdengar.

Penyaluran audio memerlukan dukungan perangkat keras. Saat ini penyaluran audio tersedia di Nexus 5 dan kami sedang bekerja sama dengan mitra chipset untuk menyediakannya di lebih banyak perangkat secepatnya.

Pemantauan audio

Aplikasi dapat menggunakan alat pemantauan baru dalam efek Visualizer untuk mendapatkan update tentang tingkat puncak dan RMS dari audio yang sedang diputar di perangkat. Misalnya, Anda dapat menggunakannya secara kreatif dalam visualizer musik atau mengimplementasikan pengukuran pemutaran di pemutar media.

Penambah kenyaringan

Aplikasi pemutaran media dapat meningkatkan kenyaringan konten lisan dengan menggunakan efek LoudnessTingkatkan baru, yang berfungsi sebagai kompresor dengan konstanta waktu yang secara khusus disesuaikan untuk ucapan.

Stempel waktu audio untuk sinkronisasi AV yang ditingkatkan

Framework audio kini dapat melaporkan stempel waktu presentasi dari HAL output audio ke aplikasi, untuk sinkronisasi audio-video yang lebih baik. Stempel waktu audio memungkinkan aplikasi Anda menentukan kapan frame audio tertentu akan (atau telah) ditampilkan di luar perangkat kepada pengguna; Anda dapat menggunakan informasi stempel waktu untuk menyinkronkan audio secara lebih akurat dengan frame video.

Wi-Fi CERTIFIED Miracast™

Perangkat Android 4.4 kini dapat disertifikasi berdasarkan Spesifikasi Tampilan Wi-Fi Wi-Fi Alliance karena kompatibel dengan Miracast. Untuk membantu pengujian, opsi developer Layar Nirkabel baru mengekspos setelan dan kontrol konfigurasi lanjutan untuk sertifikasi Layar Nirkabel. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Sertifikasi layar nirkabel. Nexus 5 adalah perangkat layar nirkabel bersertifikasi Miracast.

RenderScript Compute

Bagan optimalisasi RenderScript

Tolok ukur performa untuk Android 4.4 dibandingkan dengan Android 4.3, yang berjalan di perangkat yang sama (Nexus 7, Nexus 10).

Peningkatan performa yang berkelanjutan

Jika menggunakan RenderScript, aplikasi Anda akan mendapatkan manfaat dari penyesuaian performa yang berkelanjutan dalam runtime RenderScript itu sendiri, tanpa perlu kompilasi ulang. Diagram di sebelah kanan menunjukkan peningkatan performa pada Android 4.4 pada dua chipset populer.

Akselerasi GPU

Aplikasi apa pun yang menggunakan RenderScript di perangkat yang didukung akan mendapatkan manfaat dari akselerasi GPU tanpa perlu mengubah kode atau mengompilasi ulang. Sejak Nexus 10 pertama kali meluncurkan akselerasi GPU RenderScript, berbagai partner hardware lainnya telah menambahkan dukungan.

Kini dengan Android 4.4, akselerasi GPU tersedia di Nexus 5, serta Nexus 4, Nexus 7 (2013), dan Nexus 10. Kami bekerja sama dengan partner kami untuk menghadirkannya ke lebih banyak perangkat secepatnya.

RenderScript di Android NDK

Sekarang Anda dapat memanfaatkan RenderScript langsung dari kode native. C++ API baru di Android Native Development Kit (NDK) memungkinkan Anda mengakses fungsi RenderScript yang sama yang tersedia melalui API framework, termasuk intrinsik skrip, kernel kustom, dan lainnya.

Jika memiliki tugas besar dan memerlukan performa tinggi yang perlu ditangani dalam kode native, Anda dapat melakukan tugas tersebut menggunakan RenderScript dan mengintegrasikannya dengan kode native Anda. RenderScript menawarkan performa luar biasa di berbagai perangkat, dengan dukungan otomatis untuk CPU multi-core, GPU, dan prosesor lainnya.

Saat mem-build aplikasi yang menggunakan RenderScript melalui NDK, Anda dapat mendistribusikannya ke perangkat apa pun yang menjalankan Android 2.2 atau yang lebih tinggi, seperti pada support library RenderScript yang tersedia untuk API framework.

Grafis

GLES2.0 SurfaceFlinger

Android 4.4 mengupgrade SurfaceFlinger-nya dari OpenGL ES 1.0 ke OpenGL ES 2.0.

Dukungan baru Hardware Composer untuk tampilan virtual

Versi terbaru Android Hardware Composer, HWComposer 1.3, mendukung komposisi hardware satu tampilan virtual selain layar eksternal utama (misalnya HDMI), dan telah meningkatkan interoperabilitas OpenGL ES.

Tipe Konektivitas Baru

Profil Bluetooth baru

Android 4.4 mendukung dua profil Bluetooth baru agar aplikasi dapat mendukung lebih banyak interaksi media dan berdaya rendah. Bluetooth HID over GATT (HOGP) memberi aplikasi link latensi rendah dengan perangkat periferal berdaya rendah seperti mouse, joystick, dan keyboard. MAP Bluetooth memungkinkan aplikasi Anda bertukar pesan dengan perangkat di sekitar, misalnya terminal otomotif untuk penggunaan handsfree atau perangkat seluler lainnya. Sebagai ekstensi untuk Bluetooth AVRCP 1.3, pengguna kini dapat menyetel volume absolut pada sistem dari perangkat Bluetooth mereka.

Dukungan platform untuk HOGP, MAP, dan AVRCP dibangun pada stack Bluetooth Bluedroid yang diperkenalkan oleh Google dan Broadcom di Android 4.2. Dukungan langsung tersedia di perangkat Nexus dan perangkat lain yang kompatibel dengan Android yang menawarkan kemampuan Bluetooth yang kompatibel.

IR Blaster

Android 4.4 memperkenalkan dukungan platform untuk IR blaster bawaan, bersama dengan API baru dan layanan sistem yang memungkinkan Anda membuat aplikasi untuk memanfaatkannya.

Dengan API baru ini, Anda dapat membuat aplikasi yang memungkinkan pengguna mengontrol TV, tuner, tombol, dan perangkat elektronik lain di sekitar dari jarak jauh. API memungkinkan aplikasi Anda memeriksa apakah ponsel atau tablet memiliki pemancar inframerah, mengkueri frekuensi operatornya, lalu mengirimkan sinyal inframerah.

Karena API adalah standar di seluruh perangkat Android yang menjalankan Android 4.4 atau yang lebih tinggi, aplikasi Anda dapat mendukung berbagai vendor seluas mungkin tanpa menulis kode integrasi khusus.

Dukungan Wi-Fi TDLS

Android 4.4 memperkenalkan cara lancar untuk melakukan streaming media dan data lainnya lebih cepat antarperangkat yang sudah berada di jaringan Wi-Fi yang sama dengan mendukung Wi-Fi Tunneled Direct Link Setup (TDLS).

Aksesibilitas

Setelan lingkup sistem untuk teks tertutup

Android 4.4 kini mendukung pengalaman aksesibilitas yang lebih baik di seluruh aplikasi dengan menambahkan preferensi seluruh sistem untuk Pemberian Teks Tertutup. Pengguna dapat membuka Setelan > Aksesibilitas > Teks untuk menyetel preferensi teks global, seperti apakah akan menampilkan teks dan bahasa, ukuran teks, serta gaya teks yang akan digunakan.

Aplikasi yang menggunakan video kini dapat mengakses setelan pemberian teks pengguna dan menyesuaikan presentasi untuk memenuhi preferensi pengguna. API pengelola pemberian teks baru memungkinkan Anda memeriksa dan memantau preferensi pemberian teks pengguna. Pengelola teks memberi Anda status pemberian teks pilihan pengguna serta lokalitas, faktor penskalaan, dan gaya teks yang diinginkan. Gaya teks mencakup warna latar depan dan latar belakang, properti tepi, dan typeface.

Perangkat seluler dalam orientasi lanskap yang menampilkan teks dalam preferensi teks di seluruh sistem

Aplikasi kini dapat merujuk ke preferensi teks di seluruh sistem pengguna. Contoh gaya tampilan yang diharapkan ditunjukkan langsung di setelan.

Selain itu, aplikasi yang menggunakan VideoView dapat menggunakan API baru untuk meneruskan streaming teks bersama dengan streaming video untuk rendering. Sistem secara otomatis menangani tampilan teks pada frame video sesuai dengan setelan seluruh sistem pengguna. Saat ini, VideoView hanya mendukung tampilan otomatis teks dalam format WebVTT.

Semua aplikasi yang menampilkan teks harus memastikan untuk memeriksa preferensi teks di seluruh sistem pengguna dan merender teks semirip mungkin dengan preferensi tersebut. Untuk mendapatkan insight lebih mendalam tentang tampilan kombinasi setelan tertentu, Anda dapat melihat pratinjau teks dalam berbagai bahasa, ukuran, dan gaya, langsung di aplikasi Setelan.

API Aksesibilitas yang Disempurnakan

Android 4.4 memperluas API aksesibilitas untuk mendukung deskripsi struktural dan semantik yang lebih akurat serta pengamatan elemen di layar. Dengan API baru, developer dapat meningkatkan kualitas masukan yang dapat diakses dengan menyediakan layanan aksesibilitas dengan informasi selengkapnya tentang elemen di layar.

Dalam node aksesibilitas, developer kini dapat menentukan apakah node berupa pop-up, mendapatkan jenis inputnya, dan banyak lagi. Anda juga dapat menggunakan API baru untuk bekerja dengan node yang berisi informasi seperti petak, misalnya daftar dan tabel. Misalnya, sekarang Anda dapat menentukan tindakan baru yang didukung, informasi pengumpulan, mode live region, dan lainnya.

Peristiwa aksesibilitas baru memungkinkan developer mengikuti perubahan yang terjadi di konten jendela dengan lebih cermat, dan kini developer dapat memproses perubahan dalam mode eksplorasi sentuh pada perangkat.

Dukungan untuk Pengguna Internasional

Pencerminan sumber daya dapat digambar untuk lokal RTL

Jika aplikasi menargetkan pengguna yang menggunakan skrip RTL, Anda dapat menggunakan API baru untuk mendeklarasikan bahwa drawable harus dicerminkan otomatis saat setelan lokalitas pengguna menyertakan bahasa RTL.

Mendeklarasikan drawable sebagai dicerminkan otomatis akan membantu Anda mencegah duplikasi aset di aplikasi dan mengurangi ukuran APK. Jika memiliki drawable yang dapat digunakan kembali untuk presentasi LTR dan RTL, Anda dapat mendeklarasikan versi default sebagai dicerminkan otomatis, kemudian menghilangkan Drawable tersebut dari resource RTL.

Opsi Paksa tata letak RTL mempermudah pengujian pelokalan aplikasi.

Anda dapat mendeklarasikan beragam jenis drawable sebagai dicerminkan otomatis dalam kode aplikasi Anda, seperti bitmap, nine-patch, lapisan, daftar status, dan drawable lainnya. Anda juga dapat mendeklarasikan drawable sebagai dicerminkan otomatis dalam file resource menggunakan atribut baru.

Paksa Tata Letak RTL

Untuk mempermudah pengujian dan debug masalah pencerminan tata letak tanpa beralih ke bahasa RTL, Android menyertakan opsi developer baru untuk memaksa arah tata letak RTL di semua aplikasi.

Opsi Force RTL layout akan mengalihkan perangkat ke tata letak RTL untuk semua lokalitas dan menampilkan teks dalam bahasa Anda saat ini. Cara ini dapat membantu Anda menemukan masalah tata letak di seluruh aplikasi, tanpa harus menampilkan aplikasi dalam bahasa RTL. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Paksa arah tata letak RTL.

Penyempurnaan keamanan

SELinux (mode enforcing)

Android 4.4 mengupdate konfigurasi SELinux-nya dari "permissive" menjadi "enforcing". Artinya, potensi pelanggaran kebijakan dalam domain SELinux yang memiliki kebijakan penerapan akan diblokir.

Algoritme kriptografik yang ditingkatkan

Android telah meningkatkan keamanannya lebih lanjut dengan menambahkan dukungan untuk dua algoritma kriptografi lainnya. Dukungan Elliptic Curve Digital Signature Algorithm (ECDSA) telah ditambahkan ke penyedia keystore yang meningkatkan keamanan penandatanganan digital, yang berlaku untuk skenario seperti penandatanganan aplikasi atau koneksi data. Fungsi derivasi kunci Scrypt diimplementasikan guna melindungi kunci kriptografis yang digunakan untuk enkripsi disk penuh.

Penyempurnaan lainnya

Pada perangkat multipengguna, VPN kini diterapkan per pengguna. Dengan begitu, pengguna dapat merutekan semua traffic jaringan melalui VPN tanpa memengaruhi pengguna lain di perangkat. Selain itu, Android kini mendukung FORTIFY_SOURCE level 2, dan semua kode dikompilasi dengan perlindungan tersebut. FORTIFY_SOURCE telah disempurnakan agar dapat berfungsi dengan clang.

Alat untuk menganalisis penggunaan memori

Procstats

Alat baru yang disebut procstats membantu Anda menganalisis resource memori yang digunakan aplikasi Anda, serta resource yang digunakan oleh aplikasi dan layanan lain yang berjalan pada sistem.

Procstats memantau bagaimana aplikasi berjalan dari waktu ke waktu, yang menyediakan data tentang durasi eksekusi dan penggunaan memori untuk membantu menentukan seberapa efisien performanya. Hal ini paling penting untuk aplikasi yang memulai layanan yang berjalan di latar belakang, karena memungkinkan Anda memantau durasi aplikasi berjalan dan banyaknya RAM yang digunakan. Procstats juga akan mengumpulkan data untuk aplikasi latar depan tentang penggunaan memori dari waktu ke waktu untuk menentukan profil memori aplikasi secara keseluruhan.

Procstats dapat membantu mengidentifikasi layanan latar belakang yang dimulai oleh aplikasi. Anda dapat memantau durasi layanan tersebut terus berjalan dan jumlah RAM yang digunakan saat melakukannya. Procstats juga memungkinkan Anda membuat profil aplikasi saat berada di latar depan, dengan penggunaan memorinya dari waktu ke waktu untuk menentukan profil memorinya secara keseluruhan.

Alat procstats baru memungkinkan Anda memeriksa penggunaan memori aplikasi dan layanan dari waktu ke waktu.

Alat meminfo yang ditingkatkan memungkinkan Anda melihat detail penggunaan memori untuk aplikasi.

Anda dapat mengakses procstats dari alat adb yang disertakan dalam Android SDK, adb shell dumpsys procstats. Selain itu, untuk pembuatan profil di perangkat, lihat opsi developer Process Stats, di bawah.

Pembuatan profil dan status memori di perangkat

Android 4.4 menyertakan opsi developer baru untuk memudahkan analisis profil memori aplikasi Anda saat sedang berjalan pada perangkat atau emulator apa pun. Ini sangat berguna untuk mendapatkan gambaran tentang cara aplikasi Anda menggunakan memori dan bekerja pada perangkat dengan RAM rendah. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Statistik proses

Perangkat seluler yang menampilkan opsi Process Stats baru Perangkat seluler yang menampilkan detail penggunaan dalam opsi Statistik Proses baru

Process statistik adalah cara yang mudah untuk memeriksa penggunaan memori aplikasi Anda. Anda dapat melihat perbandingan aplikasi Anda dengan aplikasi lain dan memperbesar data tertentu tentang aplikasi Anda atau layanan latar belakangnya.

Opsi Process Stats menampilkan berbagai metrik tingkat tinggi tentang penggunaan memori aplikasi Anda, berdasarkan data yang dikumpulkan menggunakan layanan procstats baru. Di layar utama, Anda dapat melihat ringkasan status memori sistem. Warna hijau menunjukkan jumlah relatif waktu yang dihabiskan dengan penggunaan RAM yang rendah, kuning menunjukkan penggunaan RAM yang sedang, dan merah menunjukkan penggunaan RAM yang tinggi (penting)

Di bawah ringkasan terdapat daftar yang merangkum beban memori pada sistem setiap aplikasi. Untuk setiap aplikasi, panel biru menunjukkan beban memori yang dihitung secara relatif (runtime x avg_pss) dari prosesnya, dan angka persentase menunjukkan jumlah relatif waktu yang dihabiskan di latar belakang. Anda dapat memfilter daftar agar hanya menampilkan proses latar depan, latar belakang, atau proses yang di-cache, dan Anda dapat menyertakan atau mengecualikan proses sistem. Anda juga dapat mengubah durasi data yang dikumpulkan menjadi 3, 6, 12, atau 24 jam, dan dapat menyertakan atau mengecualikan memori uss.

Untuk melihat lebih dekat penggunaan memori aplikasi tertentu secara terpisah, ketuk aplikasi tersebut. Untuk setiap aplikasi, Anda kini dapat melihat ringkasan memori yang dikonsumsi dan persentase interval pengumpulan yang telah dijalankan aplikasi. Anda juga dapat melihat penggunaan rata-rata dan maksimum selama periode pengumpulan, dan di bawah layanan aplikasi serta persentase waktu pengoperasiannya.

Menganalisis aplikasi Anda menggunakan data di Process Stats dapat mengungkapkan masalah dan menyarankan kemungkinan pengoptimalan untuk aplikasi Anda. Misalnya, jika aplikasi Anda berjalan lebih lama dari yang seharusnya atau menggunakan terlalu banyak memori selama jangka waktu tertentu, mungkin ada bug dalam kode Anda yang dapat Anda selesaikan untuk meningkatkan performa aplikasi, terutama saat berjalan pada perangkat dengan RAM rendah.