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 di berbagai perangkat yang jauh lebih luas daripada sebelumnya — termasuk di jutaan perangkat entry-level di seluruh dunia yang memiliki RAM 512 MB saja.

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

OEM yang membangun perangkat Android generasi berikutnya dapat memanfaatkan opsi dan rekomendasi yang ditargetkan untuk menjalankan Android 4.4 secara efisien, bahkan pada perangkat dengan memori rendah. Penyesuaian cache kode JIT Dalvik, penggabungan halaman sama kernel (KSM), pertukaran ke zRAM, dan pengoptimalan lainnya membantu mengelola memori. Opsi konfigurasi baru memungkinkan OEM menyesuaikan tingkat kehabisan memori untuk proses, menyetel ukuran cache grafis, mengontrol perolehan kembali memori, dan banyak lagi.

Di Android sendiri, perubahan di seluruh sistem akan meningkatkan pengelolaan memori dan mengurangi footprint memori. Proses sistem inti dipangkas untuk menggunakan lebih sedikit heap, dan sekarang lebih agresif melindungi memori sistem dari aplikasi yang mengonsumsi banyak RAM. Saat beberapa layanan dimulai sekaligus — misalnya saat konektivitas jaringan berubah — Android kini meluncurkan layanan secara seri dalam kelompok kecil untuk menghindari permintaan memori yang memuncak.

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 mengubah atau menonaktifkan fitur memori besar sesuai kebutuhan, bergantung pada kasus penggunaan yang ingin Anda dukung di perangkat entry-level. Pelajari lebih lanjut cara mengoptimalkan aplikasi untuk perangkat dengan memori rendah di sini.

Berbagai alat baru juga memberi Anda analisis canggih 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 untuk memudahkan 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, semua aplikasi di perangkat Android dapat mengemulasikan kartu smart NFC, yang memungkinkan pengguna mengetuk untuk memulai transaksi dengan aplikasi pilihan mereka — tidak diperlukan elemen aman (SE) yang disediakan di perangkat. Aplikasi juga dapat menggunakan Mode Pembaca baru untuk bertindak 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 didefinisikan dalam ISO/IEC 7816-4 sebagai dasar untuk mengarahkan transaksi ke aplikasi Android yang benar.

Aplikasi mendeklarasikan AID yang didukung dalam file manifesnya, 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 untuk 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 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 Tempel & Bayar untuk kemudahan pembayaran menggunakan HCE.

Kerangka kerja pencetakan

Aplikasi Android kini dapat mencetak jenis konten apa pun melalui Wi-Fi atau layanan yang dihosting di cloud seperti Google Cloud Print. Di aplikasi yang mendukung pencetakan, pengguna dapat menemukan printer yang tersedia, mengubah ukuran kertas, memilih halaman tertentu yang akan 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 melakukan mediasi antara aplikasi yang meminta pencetakan dan layanan cetak terinstal yang menangani permintaan cetak. Pengelola cetak menyediakan layanan bersama dan UI sistem untuk pencetakan, sehingga pengguna dapat secara konsisten mengontrol pencetakan dari aplikasi apa pun. Pengelola cetak juga memastikan keamanan konten saat diteruskan melalui berbagai proses, dari aplikasi ke layanan cetak.

Perangkat seluler 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, yaitu 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 secara over the air (OTA) kapan saja.

Aplikasi klien dapat menggunakan API baru untuk menambahkan kemampuan pencetakan ke aplikasi mereka dengan sedikit perubahan kode. Pada umumnya, Anda akan menambahkan tindakan cetak ke Panel Tindakan dan UI untuk memilih item yang akan dicetak. Anda juga akan mengimplementasikan API untuk membuat tugas pencetakan, membuat 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 konten Anda yang telah diberi nomor halaman dengan benar. Untuk memudahkan, API pencetakan menyediakan class helper WebView dan native agar Anda dapat membuat PDF menggunakan API gambar Android standar. Jika mengetahui cara menggambar konten, aplikasi Anda dapat membuat PDF dengan cepat untuk dicetak.

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

Storage Access Framework

Storage Access Framework baru memudahkan pengguna menjelajahi dan membuka dokumen, gambar, serta file lainnya di semua penyedia penyimpanan dokumen pilihan mereka. UI standar yang mudah digunakan memungkinkan pengguna mencari file dan mengakses yang terbaru secara konsisten di berbagai aplikasi dan penyedia.

Perangkat seluler menampilkan sidebar terbuka dalam framework akses penyimpanan yang 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 mencakup semua API yang diperlukan untuk mendaftarkan penyedia ke sistem dan mengelola penjelajahan, pembacaan, serta penulisan dokumen di penyedia. Penyedia dokumen dapat memberi pengguna akses ke data jarak jauh atau lokal yang dapat ditampilkan sebagai file — mulai dari teks, foto, dan wallpaper hingga video, audio, dan lainnya.

Jika Anda mem-build 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. Hal ini dapat 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 terus memiliki akses ke layanan pilihan mereka dari aplikasi Anda, tanpa perlu perubahan atau update dalam kode Anda.

Framework akses penyimpanan terintegrasi dengan intent GET_CONTENT yang sudah ada, sehingga pengguna juga memiliki akses ke semua konten dan sumber data sebelumnya dari UI sistem baru untuk menjelajah. Aplikasi dapat terus menggunakan GET_CONTENT sebagai cara untuk mengizinkan pengguna mengimpor data. Storage Access Framework dan UI sistem untuk penjelajahan memudahkan 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 penyatuan sensor hardware, sebuah pengoptimalan baru yang dapat mengurangi konsumsi daya secara drastis oleh aktivitas sensor yang sedang berlangsung.

Dengan pengelompokan sensor, Android bekerja dengan hardware perangkat untuk mengumpulkan dan mengirimkan 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 dikirim. Anda dapat meminta batch peristiwa dari sensor apa pun menggunakan pemroses peristiwa standar, dan mengontrol interval tempat Anda menerima batch. Anda juga dapat meminta pengiriman peristiwa dengan segera di antara siklus batch.

Pengelompokan sensor cocok untuk kasus penggunaan 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 pada Nexus 5, dan kami sedang bekerja sama dengan partner chipset untuk menghadirkannya ke lebih banyak perangkat sesegera mungkin.

Perangkat seluler yang menampilkan dukungan detektor langkah baru Seluler menampilkan dukungan penghitung langkah baru

Moves dan Runtastic Pedometer menggunakan deteksi langkah hardware untuk menawarkan layanan yang berjalan lama dan hemat daya.

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 kapan pengguna melangkah, kemudian memicu peristiwa bersama setiap langkah. Penghitung langkah melacak jumlah total langkah sejak perangkat terakhir kali dimulai ulang dan memicu suatu peristiwa bersama setiap perubahan dalam jumlah langkah. Karena manajemen logika dan sensor dibangun ke dalam platform dan hardware dasar, Anda tidak perlu memelihara algoritma deteksi sendiri di aplikasi Anda.

Sensor penghitung dan detektor langkah 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 aplikasi. Penyedia SMS dan API baru menentukan model interaksi standar 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 pesan diterima, sistem akan merutekannya langsung ke aplikasi pesan default pengguna menggunakan intent SMS_DELIVER 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 membacanya 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 saat 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

Perangkat seluler menampilkan fitur mode imersif baru

Mode imersif 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 full-bleed yang menjangkau dari tepi ke tepi di ponsel dan tablet, menyembunyikan semua UI sistem seperti status bar dan menu navigasi. Mode ini cocok 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 — Anda dapat menangkap peristiwa sentuh dari mana saja di seluruh layar, bahkan area yang biasanya ditempati oleh kolom sistem. Ini memberi Anda cara yang efektif untuk membuat UI yang lebih besar, lebih kaya, dan lebih imersif di aplikasi atau game Anda, serta mengurangi gangguan visual.

Untuk memastikan pengguna selalu memiliki 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 tersebut disembunyikan 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 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 suasana saat pengguna masuk atau keluar dari tampilan. Anda bisa 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 Anda dapat memasukkan gaya animasi Anda sendiri jika perlu.

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 agar 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, Anda akan otomatis memulai transisi yang akan menganimasikan perubahan yang Anda tentukan.

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 berjalan 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 umumnya 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 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 yang didasarkan pada Chromium. Chromium WebView baru memberi Anda dukungan, performa, dan kompatibilitas standar terbaru untuk membuat dan menampilkan konten berbasis web.

Chromium WebView menyediakan dukungan luas untuk HTML5, CSS3, dan JavaScript. API ini mendukung sebagian besar fitur HTML5 yang tersedia di Chrome untuk Android 30. Versi ini juga menghadirkan versi terbaru JavaScript Engine (V8) yang menghasilkan performa JavaScript yang meningkat secara signifikan.

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 bisa langsung memanfaatkan WebView baru, dan dengan modifikasi minimum pada aplikasi dan konten yang sudah ada. Umumnya, konten Anda akan dimigrasikan ke implementasi baru dengan lancar.

Kemampuan media baru

Perekaman layar

Sekarang mudah membuat video berkualitas tinggi dari 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 hebat 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 menyimpan video sebagai file MP4 di perangkat. Anda dapat merekam pada semua resolusi dan kecepatan bit yang didukung perangkat yang diinginkan, dan outputnya akan mempertahankan rasio aspek tampilan. Secara default, utilitas ini akan memilih resolusi yang sama atau mendekati resolusi tampilan perangkat dalam orientasi saat ini. Setelah selesai merekam, Anda dapat membagikan video langsung dari perangkat atau menarik file MP4 ke komputer host untuk pascaproduksi.

Jika aplikasi Anda memutar video atau konten dilindungi lainnya yang tidak ingin ditangkap oleh perekam layar, Anda dapat menggunakan SurfaceView.setSecure() untuk menandai konten tersebut 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 jeda yang signifikan.

Peralihan resolusi di Android 4.4 memungkinkan aplikasi media menawarkan pengalaman streaming video yang jauh lebih baik. Aplikasi dapat memeriksa dukungan pemutaran adaptif saat runtime 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 API platform dan framework DRM modular Android untuk mendukung DASH.

HTTP Live Streaming

Android 4.4 mengupdate dukungan HTTP Live Streaming (HLS) platform ke superset 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 pemroses sinyal digital (DSP) dalam chipset perangkat. Dengan tunneling, efek decoding audio dan output dialihkan ke DSP, sehingga lebih jarang membangunkan prosesor aplikasi dan menggunakan lebih sedikit daya baterai.

Tunneling audio dapat meningkatkan masa pakai baterai secara drastis untuk kasus penggunaan seperti mendengarkan musik melalui headset dengan layar nonaktif. Misalnya, dengan tunneling audio, Nexus 5 menawarkan total waktu pemutaran audio di luar jaringan hingga 60 jam, peningkatan lebih dari 50% dibandingkan audio tanpa tunnel.

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

Visualizer menampilkan efek audio penambah kenyaringan

Visualisasi cara efek LoudnessEnhanced 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 RMS dan puncak dari audio yang sedang diputar di perangkat. Misalnya, Anda dapat menggunakannya secara kreatif di visualizer musik atau mengimplementasikan pengukuran pemutaran di pemutar media.

Penambah kenyaringan

Aplikasi pemutaran media dapat meningkatkan kenyaringan konten yang diucapkan 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 untuk Wi-Fi Alliance karena kompatibel dengan Miracast. Untuk membantu pengujian, opsi developer Layar Nirkabel yang baru mengekspos kontrol dan setelan konfigurasi lanjutan untuk sertifikasi Layar Nirkabel. Anda dapat mengakses opsi tersebut 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 dijalankan di perangkat yang sama (Nexus 7, Nexus 10).

Peningkatan performa berkelanjutan

Saat menggunakan RenderScript, aplikasi Anda akan mendapatkan manfaat dari peningkatan performa yang berkelanjutan dalam runtime RenderScript itu sendiri, tanpa perlu mengompilasi 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 sedang bekerja sama dengan partner 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 membutuhkan performa yang intensif untuk ditangani dalam kode native, Anda dapat menjalankan 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 dari OpenGL ES 1.0 ke OpenGL ES 2.0.

Dukungan baru Hardware Composer untuk tampilan virtual

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

Tipe Konektivitas Baru

Profil Bluetooth baru

Dukungan Android 4.4 untuk dua profil Bluetooth baru agar aplikasi dapat mendukung berbagai interaksi media dan daya rendah yang lebih luas. Bluetooth HID over GATT (HOGP) memberi aplikasi link latensi rendah dengan perangkat periferal berdaya rendah seperti mouse, joystick, dan keyboard. Bluetooth MAP memungkinkan aplikasi Anda bertukar pesan dengan perangkat di sekitar, misalnya terminal otomotif untuk penggunaan secara handsfree atau perangkat seluler lainnya. Sebagai ekstensi ke Bluetooth AVRCP 1.3, pengguna kini dapat menyetel volume mutlak 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 dan layanan sistem baru 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 lainnya 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 ini adalah standar di seluruh perangkat Android yang menjalankan Android 4.4 atau yang lebih tinggi, aplikasi Anda dapat mendukung rentang vendor seluas mungkin tanpa perlu menulis kode integrasi kustom.

Dukungan Wi-Fi TDLS

Android 4.4 memperkenalkan cara lancar untuk melakukan streaming media dan data lainnya lebih cepat di antara perangkat 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 Teks Tertutup. Pengguna dapat membuka Setelan > Aksesibilitas > Teks untuk menyetel preferensi teks global, seperti apakah akan menampilkan teks serta bahasa, ukuran teks, dan gaya teks yang akan digunakan.

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

Ponsel dalam orientasi lanskap menampilkan teks dalam preferensi teks seluruh sistem

Aplikasi kini dapat merujuk ke preferensi teks di seluruh sistem pengguna. Contoh gaya tampilan yang diharapkan ditampilkan 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 milik pengguna dan merender teks semirip mungkin dengan preferensi tersebut. Untuk mendapatkan insight lebih lanjut tentang tampilan kombinasi setelan tertentu, Anda dapat melihat pratinjau teks dalam berbagai bahasa, ukuran, dan gaya, langsung di aplikasi Settings.

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 ini, developer dapat meningkatkan kualitas masukan yang dapat diakses dengan memberikan informasi lengkap tentang elemen di layar ke layanan aksesibilitas.

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

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

Dukungan untuk Pengguna Internasional

Pencerminan sumber daya dapat digambar untuk lokal RTL

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

Mendeklarasikan drawable sebagai dicerminkan otomatis akan membantu Anda mencegah duplikasi aset dalam 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, 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 tata letak akan mengalihkan perangkat ke tata letak RTL untuk semua lokalitas dan menampilkan teks dalam bahasa Anda saat ini. Hal ini dapat membantu Anda menemukan masalah tata letak di seluruh aplikasi, tanpa harus menampilkan aplikasi dalam bahasa RTL. Anda dapat mengakses opsi ini di Settings > Developer options > Force RTL layout direction.

Penyempurnaan keamanan

SELinux (mode enforcing)

Android 4.4 memperbarui 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 lagi algoritme kriptografi. 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 untuk melindungi kunci kriptografis yang digunakan untuk enkripsi full-disk.

Penyempurnaan lainnya

Pada perangkat multipengguna, VPN kini diterapkan per pengguna. Dengan begitu, pengguna dapat mengarahkan 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 digunakan dengan clang.

Alat untuk menganalisis penggunaan memori

Procstats

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

Procstats memantau bagaimana aplikasi berjalan dari waktu ke waktu, yang menyediakan data tentang durasi eksekusinya 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 layanan tersebut berjalan dan jumlah RAM yang digunakan saat menjalankan layanan tersebut. Procstats juga akan mengumpulkan data untuk aplikasi latar depan tentang penggunaan memori dari waktu ke waktu guna menentukan profil memori aplikasi secara keseluruhan.

Procstats dapat membantu mengidentifikasi layanan latar belakang yang dimulai oleh aplikasi. Anda dapat memantau berapa lama layanan tersebut terus berjalan dan berapa banyak RAM yang digunakan saat melakukannya. Procstats juga memungkinkan Anda membuat profil aplikasi saat berada di latar depan, menggunakan 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 mempermudah analisis profil memori aplikasi Anda saat sedang berjalan pada perangkat atau emulator apa pun. Ini sangat berguna untuk mendapatkan tampilan tentang penggunaan memori dan performa aplikasi pada perangkat dengan RAM rendah. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Statistik proses

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

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

Opsi Process Stats menunjukkan berbagai metrik tingkat tinggi pada 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 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 Anda dapat menyertakan atau mengecualikan memori uss.

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

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