Selamat datang di Android 4.4 KitKat!
Android KitKat menghadirkan semua fitur Android yang paling inovatif, paling indah, dan paling berguna ke makin 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 dengan cepat, lancar, dan responsif di berbagai perangkat yang jauh lebih luas dari sebelumnya — termasuk di jutaan perangkat entry-level di seluruh dunia yang memiliki RAM 512 MB.
KitKat menyederhanakan setiap komponen utama untuk mengurangi penggunaan memori dan memperkenalkan API dan alat baru untuk membantu Anda membuat aplikasi yang inovatif, responsif, dan hemat memori.
OEM yang mem-build 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, penggabungan halaman yang sama kernel (KSM), swap ke zRAM, dan pengoptimalan lainnya membantu mengelola memori. Opsi konfigurasi baru memungkinkan OEM menyesuaikan tingkat kehabisan memori untuk proses, menetapkan ukuran cache grafis, mengontrol pengembalian memori, dan lainnya.
Di Android itu sendiri, perubahan di seluruh sistem meningkatkan pengelolaan memori dan mengurangi footprint memori. Proses sistem inti dipangkas agar menggunakan lebih sedikit heap, dan kini proses tersebut lebih agresif melindungi memori sistem dari aplikasi yang menggunakan RAM dalam jumlah besar. Saat beberapa layanan dimulai sekaligus — seperti saat konektivitas jaringan berubah — Android kini meluncurkan layanan secara serial, dalam grup kecil, untuk menghindari permintaan memori puncak.
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.
Alat baru juga memberi Anda insight yang efektif 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 mempermudah pendeteksian tren dan masalah memori, serta mengungkapkan overhead memori tambahan yang sebelumnya tidak terlihat.
Kemampuan NFC baru melalui Emulasi Kartu Host
Android 4.4 memperkenalkan dukungan platform baru untuk transaksi berbasis NFC yang aman melalui Host Card Emulation (HCE), untuk pembayaran, program loyalitas, akses kartu, tiket multi-trip, dan layanan kustom lainnya. Dengan HCE, aplikasi apa pun di perangkat Android dapat mengemulasi kartu smart NFC, sehingga pengguna dapat mengetuk untuk memulai transaksi dengan aplikasi pilihan mereka — tidak diperlukan elemen pengamanan (SE) yang disediakan di perangkat. Aplikasi juga dapat menggunakan Mode Pembaca baru untuk bertindak sebagai pembaca untuk kartu HCE dan transaksi berbasis NFC lainnya.
Android HCE mengemulasi kartu smart berbasis ISO/IEC 7816 yang menggunakan protokol ISO/IEC 14443-4 (ISO-DEP) nirsentuh untuk transmisi. Kartu ini digunakan oleh banyak sistem saat ini, termasuk infrastruktur pembayaran NFC EMVCO yang ada. Android menggunakan ID Aplikasi (AID) seperti yang ditentukan 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.
Saat pengguna melakukan pembayaran nirsentuh di terminal tempat pembayaran, sistem akan mengekstrak AID yang dipilih dan merutekan transaksi ke aplikasi yang benar. Aplikasi 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 fitur Tempel & Bayar untuk pembayaran yang mudah 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 untuk dicetak, dan mencetak hampir semua jenis dokumen, gambar, atau file.
Android 4.4 memperkenalkan dukungan platform native untuk pencetakan, beserta API untuk mengelola pencetakan dan menambahkan jenis dukungan printer baru. Platform ini menyediakan pengelola pencetakan yang memediasi antara aplikasi yang meminta pencetakan dan layanan pencetakan terinstal yang menangani permintaan pencetakan. Pengelola pencetakan menyediakan layanan bersama dan UI sistem untuk pencetakan, sehingga memberi pengguna kontrol yang konsisten atas pencetakan dari aplikasi apa pun. Pengelola pencetakan juga memastikan keamanan konten saat diteruskan ke seluruh proses, dari aplikasi ke layanan pencetakan.
Produsen printer dapat menggunakan API baru untuk mengembangkan layanan pencetakan mereka sendiri — komponen plug-in yang menambahkan logika dan layanan khusus vendor untuk berkomunikasi dengan jenis printer tertentu. Mereka dapat membuat layanan pencetakan dan mendistribusikannya melalui Google Play, sehingga memudahkan pengguna untuk menemukan dan menginstalnya di perangkat mereka. Sama seperti aplikasi lainnya, Anda dapat mengupdate layanan cetak secara over-the-air kapan saja.
Aplikasi klien dapat menggunakan API baru untuk menambahkan kemampuan pencetakan ke aplikasi mereka dengan perubahan kode minimal. Pada umumnya, Anda akan menambahkan tindakan cetak ke Panel Tindakan dan UI untuk memilih item yang akan dicetak. Anda juga akan menerapkan API untuk membuat tugas pencetakan, membuat kueri status pengelola pencetakan, 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 utamanya untuk pencetakan. Sebelum mencetak, aplikasi Anda harus membuat versi PDF konten dengan penomoran halaman yang benar. Untuk memudahkan, API pencetakan menyediakan class helper native dan WebView agar Anda dapat membuat PDF menggunakan API gambar Android standar. Jika aplikasi Anda mengetahui cara menggambar konten, aplikasi tersebut 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 pencetakan, serta beberapa aplikasi Google yang mendukung pencetakan, termasuk Chrome, Drive, Galeri, dan QuickOffice.
Storage Access Framework
Storage Access Framework baru memudahkan pengguna untuk menjelajahi dan membuka dokumen, gambar, serta file lainnya di seluruh penyedia penyimpanan dokumen pilihan mereka. UI standar yang mudah digunakan memungkinkan pengguna menjelajahi file dan mengakses dokumen yang baru dibuka secara konsisten di semua aplikasi dan penyedia.
Layanan penyimpanan cloud atau lokal dapat dilibatkan dalam ekosistem ini dengan menerapkan class penyedia dokumen baru yang mengenkapsulasi layanannya. Class penyedia menyertakan semua API yang diperlukan untuk mendaftarkan penyedia dengan sistem dan 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 — 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 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 engagement pengguna, karena pengguna akan menemukan layanan Anda dengan lebih mudah.
Jika Anda mengembangkan aplikasi klien yang mengelola file atau dokumen, Anda dapat berintegrasi dengan framework akses penyimpanan hanya 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 perubahan atau update yang diperlukan 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 baru untuk menjelajah. Aplikasi dapat terus menggunakan GET_CONTENT sebagai cara untuk mengizinkan pengguna mengimpor data. Framework akses penyimpanan dan UI sistem untuk penjelajahan memudahkan pengguna menemukan dan mengimpor data mereka dari berbagai sumber.
Sebagian besar perangkat yang menjalankan Android 4.4 akan menyertakan Google Drive dan penyimpanan lokal yang terintegrasi sebelumnya sebagai penyedia dokumen, dan aplikasi Google yang berfungsi dengan file juga menggunakan framework baru.
Sensor rendah daya
Penyatuan sensor
Android 4.4 memperkenalkan dukungan platform untuk pengelompokan sensor hardware, pengoptimalan baru yang dapat secara drastis mengurangi daya yang digunakan 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 peristiwa tersebut terdeteksi. Hal ini memungkinkan prosesor aplikasi perangkat tetap dalam status tidak ada aktivitas dengan daya rendah hingga batch dikirim. Anda dapat meminta peristiwa dalam batch dari sensor apa pun menggunakan pemroses peristiwa standar, dan Anda dapat mengontrol interval saat menerima batch. Anda juga dapat meminta pengiriman peristiwa secara langsung di antara siklus batch.
Pengelompokan sensor ideal untuk kasus penggunaan yang berjalan lama dan berdaya rendah seperti kebugaran, pelacakan lokasi, pemantauan, dan lainnya. Hal ini dapat membuat aplikasi Anda lebih efisien dan memungkinkan Anda melacak peristiwa sensor secara terus-menerus — bahkan saat layar nonaktif dan sistem dalam mode tidur.
Pengelompokan sensor saat ini tersedia di Nexus 5, dan kami sedang bekerja sama dengan partner chipset kami untuk menghadirkannya ke lebih banyak perangkat sesegera mungkin.
Detektor Langkah dan Penghitung Langkah
Android 4.4 juga menambahkan dukungan platform untuk dua sensor komposit baru — pendeteksi langkah dan penghitung langkah — yang memungkinkan aplikasi Anda melacak langkah saat pengguna berjalan, berlari, atau menaiki tangga. Sensor baru ini diimplementasikan dalam hardware untuk konsumsi daya yang rendah.
Detektor langkah menganalisis input akselerometer untuk mengenali saat pengguna melangkah, lalu memicu peristiwa dengan setiap langkah. Penghitung langkah melacak jumlah total langkah sejak perangkat terakhir kali dimulai ulang dan memicu peristiwa dengan setiap perubahan jumlah langkah. Karena logika dan pengelolaan sensor di-build ke dalam platform dan hardware yang mendasarinya, Anda tidak perlu mempertahankan algoritma deteksi Anda sendiri di aplikasi.
Sensor penghitung dan pendeteksi langkah tersedia di Nexus 5, dan kami sedang bekerja sama dengan partner chipset untuk menghadirkannya ke perangkat baru sesegera mungkin.
Penyedia SMS
Jika Anda mengembangkan aplikasi pesan yang menggunakan SMS atau MMS, kini Anda dapat menggunakan penyedia SMS bersama dan API baru untuk mengelola penyimpanan dan pengambilan pesan aplikasi Anda. Penyedia dan API SMS 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 membaca kapan saja. Aplikasi yang bukan aplikasi default pengguna masih dapat mengirim pesan — sistem 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 membuat fitur pesan baru dengan API yang kompatibel dengan versi mendatang dan didukung sepenuhnya.
Cara-cara baru untuk membangun aplikasi yang indah
Mode yang lebih mendalam layar penuh
Sekarang 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. Ukuran ini ideal untuk konten visual yang kaya seperti foto, video, peta, buku, dan game.
Dalam mode baru, UI sistem tetap tersembunyi, bahkan saat pengguna berinteraksi dengan aplikasi atau game Anda — Anda dapat merekam peristiwa sentuh dari mana saja di seluruh layar, bahkan area yang akan ditempati oleh panel sistem. Hal ini memberi Anda cara yang bagus 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 tepi dari atas atau bawah layar kini menampilkan UI sistem.
Untuk kembali ke mode imersif, pengguna dapat menyentuh layar di luar batas panel atau menunggu sebentar hingga panel disembunyikan secara otomatis. Untuk pengalaman pengguna yang konsisten, gestur baru juga berfungsi dengan metode sebelumnya untuk menyembunyikan status bar.
Kerangka kerja transisi untuk menganimasikan adegan
Sebagian besar aplikasi menyusun alur mereka di sekitar beberapa status UI utama yang mengekspos tindakan yang berbeda. Banyak aplikasi juga menggunakan animasi untuk membantu pengguna memahami progres mereka melalui status tersebut dan tindakan yang tersedia di setiap status. Untuk memudahkan pembuatan animasi berkualitas tinggi di aplikasi Anda, Android 4.4 memperkenalkan framework transisi baru.
Framework transisi memungkinkan Anda menentukan scene, biasanya hierarki tampilan, dan transisi, yang menjelaskan cara menganimasikan atau mengubah scene saat pengguna memasuki atau keluar darinya. Anda dapat menggunakan beberapa jenis transisi standar untuk menganimasikan tampilan berdasarkan properti tertentu, seperti batas tata letak, atau visibilitas. Ada juga jenis transisi otomatis yang secara otomatis memudar, memindahkan, 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 diperlukan.
Dengan framework transisi, Anda juga dapat menganimasikan perubahan pada UI secara langsung, tanpa perlu menentukan scene. Misalnya, Anda dapat membuat serangkaian perubahan pada hierarki tampilan, lalu membuat TransitionManager otomatis menjalankan transisi 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 frame berikutnya, animasi akan otomatis dimulai yang menganimasikan perubahan yang Anda tentukan.
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 jendela dan tema 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 panel sistem. Kasus penggunaan yang umum adalah aplikasi yang perlu ditampilkan melalui wallpaper.
Akses notifikasi yang disempurnakan
Layanan pemroses notifikasi kini dapat melihat informasi selengkapnya tentang notifikasi masuk yang dibuat menggunakan API pembuat 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.
Chromium WebView
Android 4.4 menyertakan implementasi WebView yang benar-benar baru yang didasarkan pada Chromium. WebView Chromium baru memberi Anda dukungan standar, performa, dan kompatibilitas terbaru untuk mem-build dan menampilkan konten berbasis web.
Chromium WebView menyediakan dukungan luas untuk HTML5, CSS3, dan JavaScript. Fitur ini mendukung sebagian besar fitur HTML5 yang tersedia di Chrome untuk Android 30. Versi ini juga membawa JavaScript Engine (V8) versi terbaru yang memberikan performa JavaScript yang jauh lebih baik.
Selain itu, WebView Chromium baru mendukung proses debug jarak jauh menggunakan Chrome DevTools. Misalnya, Anda dapat menggunakan Chrome DevTools di komputer pengembangan untuk memeriksa, men-debug, dan menganalisis konten WebView secara langsung di perangkat seluler.
WebView Chromium baru disertakan di semua perangkat yang 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 ada. Umumnya, konten Anda akan dimigrasikan ke penerapan baru dengan lancar.
Kemampuan media baru
Perekaman layar
Kini Anda dapat dengan mudah membuat video aplikasi berkualitas tinggi, 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 melalui USB. Ini adalah cara baru yang bagus untuk membuat panduan dan tutorial untuk aplikasi Anda, 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 resolusi dan kecepatan bit yang didukung perangkat yang Anda inginkan, dan output akan mempertahankan rasio aspek layar. Secara default, utilitas memilih resolusi yang sama atau mendekati resolusi layar 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 terlindungi lainnya 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 resmi untuk pemutaran adaptif ke dalam framework media Android. Pemutaran adaptif adalah fitur opsional dari dekoder video untuk MPEG-DASH dan format lainnya yang memungkinkan perubahan resolusi yang lancar selama pemutaran. Klien dapat mulai memberi frame video input decoder resolusi baru dan resolusi buffering output berubah secara otomatis, dan tanpa jeda 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 menggunakan API yang ada dan menerapkan pengalihan resolusi menggunakan API baru yang diperkenalkan di Android 4.4.
Common Encryption untuk DASH
Android kini mendukung Enkripsi Umum (CENC) untuk MPEG-DASH, yang menyediakan skema DRM multiplatform standar untuk mengelola konten perlindungan. Aplikasi dapat memanfaatkan CENC melalui framework DRM modular dan API platform 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 daya rendah, Android 4.4 menambahkan dukungan platform untuk tunneling audio ke digital signal processor (DSP) di chipset perangkat. Dengan tunneling, dekode audio dan efek output di-offload ke DSP, sehingga prosesor aplikasi lebih jarang aktif dan menggunakan lebih sedikit 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 dengan audio yang tidak di-tunnel.
Aplikasi media dapat memanfaatkan tunneling audio di perangkat yang didukung tanpa perlu mengubah kode. Sistem menerapkan tunneling untuk mengoptimalkan pemutaran audio setiap kali tersedia di perangkat.
Penyaluran audio memerlukan dukungan perangkat keras. Saat ini, tunneling audio tersedia di Nexus 5 dan kami sedang bekerja sama dengan partner chipset untuk menyediakannya di lebih banyak perangkat sesegera mungkin.
Pemantauan audio
Aplikasi dapat menggunakan alat pemantauan baru di efek Visualizer untuk mendapatkan info terbaru tentang tingkat puncak dan RMS audio yang sedang diputar di perangkat. Misalnya, Anda dapat menggunakannya secara kreatif dalam visualiser musik atau untuk menerapkan pengukuran pemutaran di pemutar media.
Penambah kenyaringan
Aplikasi pemutaran media dapat meningkatkan kenyaringan konten lisan dengan menggunakan efek LoudnessEnhancer baru, yang berfungsi sebagai kompresor dengan konstanta waktu yang disesuaikan secara khusus 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 dengan frame video secara lebih akurat.
Wi-Fi CERTIFIED Miracast™
Perangkat Android 4.4 kini dapat disertifikasi ke Spesifikasi Tampilan Wi-Fi Wi-Fi Alliance sebagai kompatibel dengan Miracast. Untuk membantu pengujian, opsi developer Layar Nirkabel baru mengekspos kontrol dan setelan konfigurasi lanjutan untuk sertifikasi Layar Nirkabel. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Sertifikasi tampilan nirkabel. Nexus 5 adalah perangkat layar nirkabel bersertifikasi Miracast.
RenderScript Compute
Peningkatan performa berkelanjutan
Saat aplikasi Anda menggunakan RenderScript, aplikasi tersebut akan mendapatkan manfaat dari penyesuaian performa berkelanjutan di runtime RenderScript itu sendiri, tanpa perlu melakukan kompilasi ulang. Diagram di sebelah kanan menunjukkan peningkatan performa di 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 perubahan kode atau kompilasi 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, dan kami bekerja sama dengan partner kami untuk menghadirkannya ke lebih banyak perangkat sesegera mungkin.
RenderScript di Android NDK
Sekarang Anda dapat memanfaatkan RenderScript langsung dari kode native Anda. API C++ 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 yang intensif performa untuk ditangani dalam kode native, Anda dapat melakukan tugas tersebut menggunakan RenderScript dan mengintegrasikannya dengan kode native. RenderScript menawarkan performa yang 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 halnya library dukungan RenderScript yang tersedia untuk API framework.
Grafik
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 dari satu layar virtual selain layar primer, 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 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. 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 di sistem dari perangkat Bluetooth mereka.
Dukungan platform untuk HOGP, MAP, dan AVRCP dibuat berdasarkan stack Bluetooth Bluedroid yang diperkenalkan oleh Google dan Broadcom di Android 4.2. Dukungan tersedia langsung 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, beserta API dan layanan sistem baru yang memungkinkan Anda membuat aplikasi untuk memanfaatkannya.
Dengan menggunakan API baru, Anda dapat mem-build aplikasi yang memungkinkan pengguna mengontrol TV, tuner, tombol akses, dan perangkat elektronik lainnya di sekitar dari jarak jauh. API ini memungkinkan aplikasi Anda memeriksa apakah ponsel atau tablet memiliki pemancar inframerah, mengkueri frekuensi pembawanya, lalu mengirim sinyal inframerah.
Karena API ini bersifat standar di seluruh perangkat Android yang menjalankan Android 4.4 atau yang lebih tinggi, aplikasi Anda dapat mendukung rentang vendor yang seluas mungkin tanpa menulis kode integrasi kustom.
Dukungan Wi-Fi TDLS
Android 4.4 memperkenalkan cara yang lancar untuk melakukan streaming media dan data lainnya dengan 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 menetapkan preferensi teks global, seperti apakah akan menampilkan teks dan bahasa, ukuran teks, dan gaya teks yang akan digunakan.
Aplikasi yang menggunakan video kini dapat mengakses setelan teks pengguna dan menyesuaikan presentasi untuk memenuhi preferensi pengguna. API pengelola teks baru memungkinkan Anda memeriksa dan memantau preferensi teks pengguna. Pengelola teks memberikan status teks pilihan pengguna serta lokalitas, faktor penskalaan, dan gaya teks pilihan. Gaya teks mencakup warna latar depan dan latar belakang, properti tepi, dan jenis huruf.
Selain itu, aplikasi yang menggunakan VideoView dapat menggunakan API baru untuk meneruskan streaming teks beserta 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 seluruh sistem pengguna dan merender teks sedekat mungkin dengan preferensi tersebut. Untuk mengetahui lebih lanjut 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 memberikan layanan aksesibilitas dengan lebih banyak informasi tentang elemen di layar.
Di node aksesibilitas, developer kini dapat menentukan apakah node adalah pop-up, mendapatkan jenis inputnya, dan lainnya. Anda juga dapat menggunakan API baru untuk menggunakan node yang berisi informasi seperti petak, seperti daftar dan tabel. Misalnya, sekarang Anda dapat menentukan tindakan baru yang didukung, informasi pengumpulan, mode region aktif, 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 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 secara otomatis 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 secara otomatis, lalu menghapus Drawable tersebut dari resource RTL.
Anda dapat mendeklarasikan berbagai jenis drawable sebagai dicerminkan secara otomatis dalam kode aplikasi, seperti bitmap, nine-patch, lapisan, daftar status, dan drawable lainnya. Anda juga dapat mendeklarasikan drawable sebagai dicerminkan secara otomatis dalam file resource menggunakan atribut baru.
Force RTL Layout
Untuk memudahkan pengujian dan proses 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. 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 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 pemberlakuan 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 turunan kunci Scrypt diterapkan untuk melindungi kunci kriptografis yang digunakan untuk enkripsi disk penuh.
Penyempurnaan lainnya
Pada perangkat multipengguna, VPN kini diterapkan per pengguna. Hal ini dapat memungkinkan pengguna untuk 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 ditingkatkan agar dapat digunakan dengan clang.
Alat untuk menganalisis penggunaan memori
Procstats
Alat baru yang disebut procstats membantu Anda menganalisis resource memori yang digunakan aplikasi, serta resource yang digunakan oleh aplikasi dan layanan lain yang berjalan di sistem.
Procstats melacak cara aplikasi berjalan dari waktu ke waktu, memberikan 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 berapa lama aplikasi berjalan dan berapa banyak RAM yang digunakan saat melakukannya. 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 Anda mengidentifikasi layanan latar belakang yang dimulai oleh aplikasi. Anda dapat melacak 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 memori secara keseluruhan.
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 Statistik Proses, di bawah.
Pembuatan profil dan status memori di perangkat
Android 4.4 menyertakan opsi developer baru untuk mempermudah analisis profil memori aplikasi saat berjalan di perangkat atau emulator apa pun. Hal ini sangat berguna untuk mendapatkan gambaran tentang cara aplikasi Anda menggunakan memori dan berperforma di perangkat dengan RAM rendah. Anda dapat mengakses opsi ini di Setelan > Opsi developer > Statistik proses
Opsi Process Stats menampilkan berbagai metrik tingkat tinggi pada penggunaan memori aplikasi, berdasarkan data yang dikumpulkan menggunakan layanan procstats baru. Di layar utama, Anda dapat melihat ringkasan status memori sistem. Hijau menunjukkan jumlah relatif waktu yang dihabiskan dengan penggunaan RAM rendah, kuning menunjukkan penggunaan RAM sedang, dan merah menunjukkan penggunaan RAM tinggi (kritis)
Di bawah ringkasan terdapat daftar yang meringkas beban memori setiap aplikasi di sistem. Untuk setiap aplikasi, batang biru menunjukkan beban memori komputasi relatif (runtime x avg_pss) dari prosesnya, dan angka persentase menunjukkan jumlah waktu relatif yang dihabiskan di latar belakang. Anda dapat memfilter daftar untuk 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 melihat lebih dekat penggunaan memori aplikasi tertentu secara terpisah, ketuk aplikasi. Untuk setiap aplikasi, Anda kini dapat melihat ringkasan memori yang digunakan 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 layanan tersebut berjalan.
Menganalisis aplikasi menggunakan data di Statistik Proses 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 yang dapat Anda selesaikan untuk meningkatkan performa aplikasi, terutama saat berjalan di perangkat dengan RAM rendah.