The Android Developer Challenge is back! Submit your idea before December 2.

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 makin banyak perangkat di mana saja.

Dokumen ini memberikan gambaran sekilas tentang hal apa saja yang baru untuk developer.

Ketahui selengkapnya tentang KitKat untuk konsumen di www.android.com.

Menjadikan Android untuk siapa saja

Android 4.4 didesain untuk berjalan cepat, mulus, dan responsif pada ragam perangkat yang lebih banyak daripada sebelumnya — termasuk jutaan perangkat kelas bawah di seluruh dunia yang memiliki RAM 512 MB.

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

OEM yang membangun generasi berikutnya dari perangkat Android bisa memanfaatkan opsi dan saran yang ditargetkan untuk menjalankan Android 4.4 secara efisien, bahkan pada perangkat yang minim memori. Penyetelan cache kode JIT Dalvik, Kernel Samepage Merging (KSM), penukaran ke zRAM, dan optimalisasi lainnya membantu mengelola memori. Opsi konfigurasi baru memungkinkan OEM menyesuaikan tingkat kehabisan memori untuk berbagai proses, menyetel ukuran cache grafik, mengontrol pemulihan memori, dan sebagainya.

Di Android sendiri, perubahan di seluruh bagian sistem akan memperbaiki manajemen memori dan mengurangi footprint memori. Proses-proses sistem ini dirapikan untuk menggunakan heap lebih sedikit, dan kini lebih agresif melindungi memori sistem dari aplikasi yang mengonsumsi banyak RAM. Bila ada beberapa layanan yang dijalankan sekaligus — misalnya bila konektivitas jaringan berubah — Android kini meluncurkan layanan secara berseri, dalam kelompok-kelompok kecil, untuk menghindari permintaan memori puncak.

Bagi developer, Android 4.4 membantu Anda menghasilkan aplikasi yang efisien dan responsif pada semua perangkat. API baru, ActivityManager.isLowRamDevice(), memungkinkan Anda menyesuaikan perilaku aplikasi agar cocok dengan konfigurasi memori perangkat. Anda bisa memodifikasi atau menonaktifkan fitur memori-besar bila diperlukan, bergantung pada kasus penggunaan yang Anda inginkan untuk mendukung perangkat kelas bawah. Ketahui selengkapnya tentang mengoptimalkan aplikasi Anda untuk perangkat minim memori di sini.

Berbagai alat baru juga memberi Anda wawasan yang andal mengenai penggunaan memori aplikasi. Alat procstats memberikan detail penggunaan memori sepanjang waktu, bersama waktu proses dan footprint memori untuk aplikasi latar depan dan layanan latar belakang. Sebuah tampilan pada-perangkat juga tersedia sebagai opsi baru developer. Alat meminfo telah disempurnakan untuk mempermudah pemantauan tren dan masalah memori, dan akan mengungkapkan overhead memori tambahan yang sebelumnya tidak bisa terlihat.

Kemampuan NFC baru melalui Emulasi Kartu Host

Android 4.4 memperkenalkan dukungan platform baru untuk transaksi berbasis NFC aman melalui Emulasi Kartu Host (Host Card Emulation/HCE), untuk pembayaran, program loyalitas, akses kartu, tempat persinggahan, dan layanan khusus lainnya. Dengan HCE, aplikasi apa saja di perangkat Android bisa mengemulasikan kartu cerdas NFC, sehingga memungkinkan pengguna mengetuk untuk memulai transaksi dengan aplikasi pilihan mereka — tidak perlu ada penyediaan elemen aman (SE) di perangkat. Aplikasi juga bisa menggunakan Mode Pembaca baru untuk berfungsi sebagai pembaca kartu HCE dan transaksi lainnya yang berbasis NFC.

Android HCE mengemulasikan kartu cerdas berbasis ISO/IEC 7816 yang menggunakan protokol nirkontak ISO/IEC 14443-4 (ISO-DEP) untuk transmisi. Sekarang semua kartu ini digunakan oleh banyak sistem, termasuk infrastruktur pembayaran EMVCO NFC yang sudah ada. Android menggunakan Identifier Aplikasi (Application Identifier/AID) seperti yang didefinisikan dalam ISO/IEC 7816-4 sebagai basis untuk merutekan transaksi ke aplikasi Android yang tepat.

Aplikasi mendeklarasikan AID yang mereka dukung dalam file manifes, bersama identifier kategori yang menunjukkan tipe dukungan yang tersedia (misalnya, "pembayaran"). Jika ada beberapa aplikasi yang mendukung AID yang sama dalam kategori yang sama, Android akan menampilkan dialog yang memungkinkan pengguna memilih aplikasi yang akan digunakan.

Bila pengguna mengetuk untuk membayar di terminal kasir, sistem akan mengekstrak AID yang diutamakan dan merutekan transaksi ke aplikasi yang tepat. Aplikasi akan membaca data transaksi dan bisa menggunakan layanan lokal atau layanan berbasis jaringan untuk memverifikasi kemudian menyelesaikan transaksi.

Android HCE mengharuskan pengontrol NFC ada di perangkat. Dukungan untuk HCE sudah tersedia luas pada hampir semua pengontrol NFC, yang menawarkan dukungan dinamis untuk transaksi HCE maupun transaksi SE. Android 4.4 di perangkat yang mendukung NFC akan menyertakan Ketuk & Bayar untuk kemudahan pembayaran menggunakan HCE.

Kerangka kerja pencetakan

Aplikasi Android kini bisa mencetak semua tipe materi melalui Wi-Fi atau layanan yang di-host di awan seperti Google Cloud Print. Di aplikasi yang berkemampuan cetak, pengguna bisa menemukan printer yang tersedia, mengubah ukuran kertas, memilih laman tertentu yang akan dicetak, dan mencetak hampir semua macam dokumen, gambar, atau file.

Android 4.4 memperkenalkan dukungan platform asli untuk pencetakan, bersama API untuk mengelola pencetakan dan penambahan tipe baru dukungan printer. Platform ini menyediakan pengelola pencetakan yang menjadi perantara antara aplikasi yang meminta pencetakan dan layanan cetak terpasang yang menangani permintaan cetak. Pengelola pencetakan menyediakan layanan bersama dan UI sistem untuk pencetakan, sehingga memberi pengguna kontrol yang konsisten atas pencetakan dari aplikasi apa saja. Pengelola pencetakan juga memastikan keamanan materi saat melewati berbagai proses, dari aplikasi ke layanan cetak.

Anda bisa menambahkan dukungan pencetakan ke aplikasi atau mengembangkan layanan cetak untuk mendukung tipe printer tertentu.

Produsen printer bisa menggunakan API baru untuk mengembangkan layanan cetak mereka sendiri — komponen lepas-pasang yang menambahkan layanan dan logika vendor spesifik untuk berkomunikasi dengan tipe printer yang spesifik pula. Mereka bisa membangun layanan cetak dan mendistribusikannya melalui Google Play, sehingga memudahkan pengguna untuk menemukan dan memasangnya pada perangkat mereka. Sebagaimana dengan aplikasi lainnya, Anda bisa memperbarui layanan cetak lewat jaringan seluler kapan saja.

Aplikasi klien bisa menggunakan API baru untuk menambahkan kemampuan pencetakan ke aplikasi mereka dengan perubahan kode yang minimal. Umumnya, Anda perlu menambahkan aksi cetak ke Bilah Aksi dan UI untuk memilih item yang akan dicetak. Anda juga perlu mengimplementasikan API untuk membuat tugas cetak, melakukan kueri ke pengelola pencetakan untuk mengetahui status, dan membatalkan tugas. Ini memungkinkan Anda mencetak hampir semua tipe materi, dari dokumen dan gambar lokal hingga data jaringan atau tampilan yang di-render ke kanvas.

Demi kompatibilitas terluas, Android menggunakan PDF sebagai format file utama bagi pencetakan. Sebelum mencetak, aplikasi Anda perlu membuat versi PDF yang telah diberi nomor halaman dengan benar atas materi Anda. Agar praktis, API pencetakan menyediakan kelas helper WebView dan bawaan agar Anda bisa membuat PDF menggunakan API standar Android untuk menggambar. Jika aplikasi Anda mengetahui cara menggambar materi, maka ia bisa dengan cepat membuat PDF untuk pencetakan.

Kebanyakan perangkat yang menjalankan Android 4.4 akan menyertakan Google Cloud Print yang sudah terpasang sebagai layanan cetak, serta sejumlah 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, dan file lainnya di semua penyedia storage dokumen pilihannya. UI standar yang mudah digunakan memungkinkan pengguna menjelajahi file dan mengakses yang terbaru dengan cara konsisten di antara berbagai aplikasi dan penyedia.

Box dan lainnya telah mengintegrasikan layanan mereka ke dalam Storage Access Framework, sehingga memberi pengguna akses mudah ke dokumen mereka dari aplikasi di sistem.

Layanan storage awan atau lokal bisa ikut serta dalam ekosistem ini dengan mengimplementasikan kelas penyedia dokumen baru yang membungkus layanan mereka. Kelas penyedia menyertakan semua API yang diperlukan untuk mendaftarkan penyedia pada sistem dan mengelola penjelajahan, pembacaan, dan penulisan dokumen di penyedia. Penyedia dokumen bisa memberi akses kepada pengguna ke semua data lokal atau jauh yang bisa dinyatakan sebagai file — dari teks, foto, dan wallpaper hingga video, audio, dan sebagainya.

Jika Anda membangun penyedia dokumen untuk layanan awan atau lokal, Anda bisa mengirimnya ke pengguna sebagai bagian dari aplikasi Android yang sudah ada. Setelah mengunduh dan memasang aplikasi, pengguna akan memiliki akses instan ke layanan Anda dari aplikasi apa saja yang turut serta dalam kerangka kerja tersebut. Ini bisa membantu Anda mendapatkan eksposur dan keterlibatan penggunaan, karena pengguna akan menemukan layanan Anda dengan lebih mudah.

Jika Anda mengembangkan aplikasi klien yang mengelola file atau dokumen, Anda bisa mengintegrasikannya dengan Storage Access Framework cukup dengan menggunakan maksud baru CREATE_DOCUMENT atau OPEN_DOCUMENT untuk membuka atau membuat file — sistem secara otomatis menampilkan UI standar untuk menjelajahi dokumen, termasuk semua penyedia dokumen yang tersedia.

Anda bisa mengintegrasikan aplikasi klien satu kali, untuk semua penyedia, tanpa kode vendor-tertentu. Karena pengguna menambah atau membuang penyedia, mereka akan tetap memiliki akses ke layanan yang mereka sukai dari aplikasi Anda, tanpa perlu perubahan atau pembaruan dalam kode.

Storage Access Framework telah terintegrasi dengan maksud GET_CONTENT yang sudah ada, sehingga pengguna juga memiliki akses ke semua materi sebelumnya dan sumber data dari UI sistem yang baru untuk penjelajahan. Aplikasi bisa melanjutkan penggunaan GET_CONTENT sebagai cara untuk memungkinkan pengguna mengimpor data. Storage Access Framework dan UI sistem untuk penjelajahan mempermudah pengguna untuk menemukan dan mengimpor data mereka dari sumber yang lebih beragam.

Kebanyakan perangkat yang menjalankan Android 4.4 akan menyertakan Google Drive dan storage lokal yang telah terintegrasi sebagai penyedia dokumen, dan aplikasi Google yang dapat digunakan bersama file juga menggunakan kerangka kerja baru.

Sensor rendah daya

Penyatuan sensor

Android 4.4 memperkenalkan dukungan platform untuk penyatuan sensor perangkat keras, sebuah optimalisasi baru yang bisa mengurangi konsumsi daya secara dramatis oleh aktivitas sensor yang sedang berlangsung.

Dengan batching atau penyatuan sensor, Android dapat digunakan bersama perangkat keras untuk mengumpulkan dan mengirimkan kejadian sensor secara efisien dalam bentuk batch, daripada satu per satu begitu kejadian terdeteksi. Ini memungkinkan prosesor aplikasi di perangkat tetap dalam status diam dan rendah daya hingga semua batch dikirim. Anda bisa meminta batch kejadian dari sensor apa saja dengan menggunakan event listener standar, dan Anda bisa mengontrol interval untuk menerima batch tersebut. Anda juga bisa meminta pengiriman segera atas kejadian di antara siklus batch.

Penyatuan sensor cocok untuk kasus penggunaan yang rendah daya dan berjalan lama seperti kebugaran, pelacakan lokasi, pemantauan, dan lainnya. Ini bisa membuat aplikasi Anda lebih efisien dan memungkinkan Anda melacak kejadian sensor secara kontinu — bahkan saat layar dimatikan dan sistem sedang tidur.

Penyatuan sensor saat ini tersedia pada Nexus 5, dan kami sedang bekerja sama dengan mitra chipset untuk menghadirkannya ke lebih banyak perangkat lagi secepatnya.

Moves dan Runtastic Pedometer menggunakan detektor langkah perangkat keras untuk menawarkan layanan yang berjalan lama dan rendah 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 dalam perangkat keras untuk konsumsi daya yang rendah.

Detektor langkah menganalisis masukan akselerometer untuk mengetahui kapan pengguna melangkah, kemudian memicu sebuah kejadian bersama setiap langkah. Penghitung langkah melacak total jumlah langkah sejak perangkat boot ulang terakhir kali dan memicu kejadian bersama setiap perubahan jumlah langkah. Karena manajemen sensor dan logika telah dimasukkan ke dalam platform dan perangkat keras utama, Anda tidak perlu memelihara algoritme deteksi sendiri di aplikasi.

Sensor detektor langkah dan penghitung langkah tersedia di Nexus 5, dan kami sedang bekerja sama dengan mitra chipset untuk menghadirkannya ke berbagai perangkat baru secepatnya.

Penyedia SMS

Jika Anda mengembangkan aplikasi perpesanan yang menggunakan SMS atau MMS, Anda kini bisa menggunakan penyedia SMS bersama dan API baru untuk mengelola storage dan pengambilan pesan aplikasi Anda. Penyedia SMS dan API baru mendefinisikan model interaksi terstandar untuk semua aplikasi yang menangani pesan SMS atau MMS.

Bersama penyedia dan API baru, Android 4.4 memperkenalkan semantik baru untuk menerima pesan dan menulis ke penyedianya. Bila sebuah pesan diterima, sistem akan merutekannya langsung ke aplikasi perpesanan default pengguna dengan menggunakan maksud baru SMS_DELIVER . Aplikasi lainnya tetap bisa mendengarkan pesan masuk dengan menggunakan maksud SMS_RECEIVED . Sistem juga sekarang hanya mengizinkan aplikasi default untuk menulis data pesan ke penyedia, walaupun aplikasi lain bisa membaca kapan saja. Aplikasi yang bukan default pengguna tetap bisa mengirim pesan — sistem akan menangani penulisan pesan itu ke penyedia atas nama aplikasi, jadi pengguna bisa melihatnya di aplikasi default.

Penyedia dan semantik baru ini membantu meningkatkan pengalaman pengguna ketika ada beberapa aplikasi perpesanan yang dipasang, dan semua itu membantu Anda membangun fitur perpesanan baru dengan API yang didukung penuh dan kompatibel ke depan.

Cara-cara baru untuk membangun aplikasi yang indah

Mode yang lebih mendalam baru memungkinkan aplikasi menggunakan setiap piksel di layar untuk menampilkan materi dan merekam kejadian sentuh.

Mode yang lebih mendalam layar penuh

Kini aplikasi Anda bisa menggunakan setiap piksel di layar perangkat untuk menunjukkan materi Anda dan merekam kejadian sentuh. Android 4.4 menambahkan mode yang lebih mendalam layar penuh baru yang memungkinkan Anda membuat UI full-bleed yang menjangkau dari tepi ke tepi di ponsel dan tablet, yang menyembunyikan semua UI sistem seperti bilah status dan bilah navigasi. Ini cocok untuk materi 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 bisa merekam kejadian sentuh dari mana saja di seluruh bagian layar, bahkan area yang biasanya ditempati oleh bilah sistem. Ini memberi Anda cara hebat untuk membuat UI yang lebih besar, lebih kaya, dan lebih mendalam di aplikasi atau game Anda serta mengurangi pengalih visual.

Untuk memastikan pengguna selalu mendapatkan akses yang mudah dan konsisten ke UI sistem dari mode yang lebih mendalam layar penuh, Android 4.4 mendukung isyarat baru — dalam mode yang lebih mendalam, gesekan di pinggir dari atas atau bawah layar kini akan menampilkan UI sistem.

Untuk kembali ke mode yang lebih mendalam, pengguna bisa menyentuh sisi luar layar pada batas bilah atau menunggu sebentar agar bilah disembunyikan secara otomatis. Agar pengalaman pengguna konsisten, isyarat baru juga dapat berfungsi pada metode sebelumnya untuk penyembunyian bilah status.

Kerangka kerja transisi untuk menganimasikan adegan

Sebagian besar aplikasi menstrukturkan alurnya di seputar sejumlah keadaan UI utama yang mengekspos beragam tindakan. Banyak juga aplikasi yang menggunakan animasi untuk membantu pengguna memahami kemajuan mereka melalui status-status itu dan tindakan yang tersedia di setiap keadaan. Agar lebih mudah membuat animasi berkualitas tinggi di aplikasi Anda, Android 4.4 memperkenalkan kerangka kerja transisi baru.

Kerangka kerja transisi ini memungkinkan Anda mendefinisikan adegan, biasanya hierarki tampilan, dan transisi, yang menjelaskan cara menganimasikan atau mentransformasikan adegan bila pengguna masuk atau keluar dari tampilan. Anda bisa menggunakan sejumlah tipe transisi yang telah didefinisikan sebelumnya untuk menganimasikan adegan Anda berdasarkan properti tertentu, misalnya batas layout, atau visibilitas. Ada juga tipe transisi otomatis yang secara otomatis memudarkan, menggerakkan, dan mengubah ukuran tampilan selama perubahan adegan. Sebagai tambahan, Anda bisa mendefinisikan transisi khusus yang menganimasikan properti paling penting bagi aplikasi, dan jika perlu Anda bisa memasukkan gaya animasi sendiri.

Dengan kerangka kerja transisi Anda juga bisa menganimasikan perubahan pada UI seketika itu, tanpa perlu mendefinisikan adegan. Misalnya, Anda bisa membuat serangkaian perubahan pada hierarki tampilan kemudian atur agar TransitionManager secara otomatis menjalankan transisi tertunda atas perubahan itu.

Setelah mempersiapkan transisi, tinggal memanggilnya dari aplikasi Anda. Misalnya, Anda bisa memanggil metode tunggal untuk memulai transisi, membuat beragam perubahan dalam hierarki tampilan, dan pada animasi bingkai berikutnya akan secara 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 khusus atas transisi yang dijalankan di antara adegan tertentu dalam alur aplikasi, Anda bisa menggunakan TransitionManager. TransitionManager memungkinkan Anda mendefinisikan hubungan antara adegan dan transisi yang dijalankan untuk perubahan adegan tertentu.

Penataan gaya UI sistem tembus pandang

Untuk mengoptimalkan dampak materi, Anda kini bisa menggunakan beberapa gaya jendela baru dan tema untuk meminta UI sistem tembus pandang, termasuk bilah status dan bilah navigasi. Untuk memastikan keterbacaan tombol bilah navigasi atau informasi bilah status, gradien halus ditampilkan di belakang bilah sistem. Kasus penggunaan umum adalah aplikasi yang perlu ditampilkan melalui wallpaper.

Akses notifikasi yang disempurnakan

Layanan listener notifikasi kini bisa melihat informasi selengkapnya tentang notifikasi masuk yang dibuat menggunakan API pembangun notifikasi. Layanan listener bisa mengakses tindakan notifikasi serta bidang-bidang ekstra baru — teks, ikon, gambar, kemajuan, kronometer, dan banyak lagi — untuk mengekstrak informasi lebih bersih tentang notifikasi dan menyajikan informasi dengan cara berbeda.

Chromium WebView

Android 4.4 menyertakan implementasi WebView yang benar-benar baru berdasarkan Chromium. Chromium WebView yang baru memberi Anda yang terbaru untuk dukungan standar, kinerja, dan kompatibilitas untuk membangun dan menampilkan materi berbasis web.

Chromium WebView menyediakan dukungan luas untuk HTML5, CSS3, dan JavaScript. Ia mendukung hampir semua fitur HTML5 yang tersedia di Chrome untuk Android 30. Versi yang telah diperbarui juga dihadirkan untuk JavaScript Engine (V8) yang menghasilkan kinerja JavaScript yang meningkat secara dramatis.

Sebagai tambahan, Chromium WebView baru mendukung debug jarak jauh menggunakan Chrome DevTools. Misalnya, Anda bisa menggunakan Chrome DevTools di mesin development untuk memeriksa, men-debug, dan menganalisis materi WebView secara langsung di perangkat seluler.

Chromium WebView yang baru disertakan pada 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 materi yang sudah ada. Umumnya, materi Anda akan bermigrasi ke implementasi baru secara mulus.

Kemampuan media baru

Perekaman layar

Sekarang mudah 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 pada perangkat yang terhubung ke lingkungan Android SDK Anda melalui USB. Ini adalah cara baru yang bagus untuk membuat panduan dan tutorial untuk aplikasi Anda, material pengujian, video pemasaran, dan lainnya.

Dengan utilitas perekaman layar, Anda bisa merekam video materi layar perangkat dan menyimpan video sebagai file MP4 pada perangkat. Anda bisa merekam pada resolusi dan laju bit apa saja yang didukung perangkat yang Anda inginkan, dan keluarannya akan menyimpan rasio aspek tampilan. Secara default, utilitas akan memilih resolusi yang sama dengan atau mendekati resolusi tampilan perangkat dalam orientasi saat ini. Bila selesai merekam, Anda bisa berbagi video langsung dari perangkat atau menarik file MP4 ke komputer yang menjadi host untuk pascaproduksi.

Jika aplikasi Anda memutar video atau materi yang dilindungi lainnya yang tidak ingin direkam oleh perekam layar, Anda bisa menggunakan SurfaceView.setSecure() untuk menandai materi tersebut sebagai aman.

Anda bisa mengakses perekaman layar melalui alat adb yang disertakan dalam Android SDK, dengan menggunakan perintah adb shell screenrecord. Anda juga bisa meluncurkannya melalui panel DDMS di Android Studio.

Perpindahan resolusi melalui pemutaran adaptif

Android 4.4 menghadirkan dukungan resmi untuk pemutaran adaptif ke dalam kerangka kerja media Android. Pemutaran adaptif adalah fitur opsional dekoder video untuk format MPEG-DASH dan format lainnya yang memungkinkan perubahan resolusi secara mulus selama pemutaran. Klien bisa mulai mengumpan bingkai video masukan dekoder dengan resolusi baru dan resolusi buffer keluaran berubah secara otomatis, serta tanpa kesenjangan yang signifikan.

Perpindahan resolusi di Android 4.4 memungkinkan aplikasi media menawarkan pengalaman streaming video yang jauh lebih baik. Aplikasi bisa memeriksa adanya dukungan pemutaran adaptif pada waktu proses dengan menggunakan API yang ada dan mengimplementasikan perpindahan resolusi dengan menggunakan API yang diperkenalkan dalam Android 4.4.

Common Encryption untuk DASH

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

HTTP Live Streaming

Android 4.4 memperbarui dukungan HTTP Live Streaming (HLS) di platform pada superset versi 7 spesifikasi HLS (versi 4 protokol). Lihat draf IETF untuk detailnya.

Penyaluran Audio ke DSP

Untuk mendapatkan pemutaran audio yang lebih rendah daya berkinerja tinggi, Android 4.4 menambahkan dukungan platform untuk penyaluran audio ke pemroses sinyal digital (Digital Signal Processor/DSP) di chipset perangkat. Dengan penyaluran, decoding audio dan efek keluaran dipindahkan bebannya ke DSP, sehingga tidak sering membangunkan prosesor aplikasi dan menggunakan baterai lebih sedikit.

Penyaluran audio bisa meningkatkan daya tahan baterai secara dramatis untuk kasus penggunaan seperti mendengarkan musik melalui headset dengan layar dimatikan. Misalnya, dengan penyaluran audio, Nexus 5 menawarkan total waktu pemutaran audio tanpa menggunakan jaringan hingga 60 jam, kenaikannya lebih dari 50% dibandingkan audio tanpa penyaluran.

Aplikasi media bisa memanfaatkan penyaluran audio pada perangkat yang didukung tanpa perlu memodifikasi kode. Sistem menerapkan penyaluran untuk mengoptimalkan pemutaran audio bila tersedia pada perangkat.

Visualizer menampilkan efek audio penambah kenyaringan

Visualisasi bagaimana efek LoudnessEnhancer bisa membuat materi ucapan menjadi 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 pada lebih banyak perangkat secepatnya.

Pemantauan audio

Aplikasi bisa menggunakan alat pemantauan baru dalam efek Visualizer untuk mendapatkan pembaruan mengenai tingkat RMS dan puncak dari audio yang saat ini diputar di perangkat. Misalnya, Anda bisa menggunakannya secara kreatif di visualizer musik atau mengimplementasikan pengukur pemutaran di pemutar media.

Penambah kenyaringan

Aplikasi pemutaran media bisa menambah kenyaringan materi yang diucapkan dengan menggunakan efek baru LoudnessEnhancer, yang berfungsi sebagai kompresor dengan konstanta waktu yang secara khusus disesuaikan untuk ucapan.

Stempel waktu audio untuk sinkronisasi AV yang ditingkatkan

Kerangka kerja audio kini bisa melaporkan stempel waktu presentasi dari HAL keluaran audio ke aplikasi, demi sinkronisasi audio-video yang lebih baik. Stempel waktu audio memungkinkan aplikasi Anda menentukan kapan bingkai audio tertentu akan (atau telah) disajikan di luar perangkat ke pengguna; Anda bisa menggunakan informasi stempel waktu untuk menyinkronkan audio secara lebih akurat dengan bingkai video.

Wi-Fi CERTIFIED Miracast™

Android 4.4 di perangkat kini bisa bersertifikasi ke Wi-Fi Alliance Wi-Fi Display Specification sebagai kompatibel dengan Miracast. Untuk membantu pengujian, opsi baru developer Layar Nirkabel mengekspos setelan dan kontrol konfigurasi lanjutan untuk sertifikasi Layar Nirkabel. Anda bisa mengakses opsi ini di Settings > Developer options > Wireless display certification. Nexus 5 adalah perangkat dengan layar nirkabel bersertifikasi Miracast.

RenderScript Compute

Bagan optimalisasi RenderScript

Tolok ukur kinerja untuk Android 4.4 dibandingkan dengan Android 4.3, yang dijalankan pada perangkat yang sama (Nexus 7, Nexus 10).

Peningkatan kinerja yang sedang berlangsung

Bila aplikasi Anda menggunakan RenderScript, aplikasi itu akan diuntungkan oleh penyesuaian kinerja yang sedang berlangsung di waktu proses RenderScript itu sendiri, tanpa perlu kompilasi ulang. Bagan di sebelah kanan menunjukkan kinerja yang diperoleh di Android 4.4 pada dua chipset populer.

Akselerasi GPU

Semua aplikasi yang menggunakan RenderScript pada perangkat yang didukung akan diuntungkan oleh akselerasi GPU, tanpa perubahan kode atau kompilasi ulang. Sejak Nexus 10 pertama kali menghadirkan akselerasi GPU RenderScript, beragam mitra perangkat keras lainnya telah menambahkan dukungan.

Kini dengan Android 4.4, akselerasi GPU tersedia di Nexus 5, termasuk Nexus 4, Nexus 7 (2013), dan Nexus 10, dan kami bersama mitra sedang bekerja sama untuk sesegera mungkin menghadirkannya di perangkat lain.

RenderScript di Android NDK

Kini Anda bisa memanfaatkan RenderScript secara langsung dari kode asli Anda. C++ API yang baru di Android Native Development Kit (NDK) memungkinkan Anda mengakses fungsionalitas RenderScript yang sama, yang tersedia melalui API kerangka kerja, termasuk intrinsik skrip, kernel khusus, dan lainnya.

Jika Anda memiliki tugas besar yang membutuhkan banyak kinerja untuk menangani kode asli, Anda bisa melakukan tugas itu dengan menggunakan RenderScript dan mengintegrasikannya dengan kode asli Anda. RenderScript menawarkan kinerja yang hebat di semua macam perangkat, dengan dukungan otomatis untuk CPU multi-inti, GPU, dan prosesor lainnya.

Bila Anda membangun aplikasi yang menggunakan RenderScript melalui NDK, Anda bisa mendistribusikannya ke perangkat yang menjalankan Android 2.2 atau yang lebih tinggi, persis seperti pada pustaka dukungan RenderScript yang tersedia untuk API kerangka kerja.

Grafik

GLES2.0 SurfaceFlinger

Android 4.4 meningkatkan versi SurfaceFlinger 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 perangkat keras satu tampilan virtual sebagai tambahan untuk tampilan utama eksternal (mis. HDMI), dan telah meningkatkan interoperabilitas OpenGL ES.

Tipe Konektivitas Baru

Profil Bluetooth baru

Android 4.4 mendukung dua profil Bluetooth baru agar aplikasi bisa lebih luas mendukung interaksi media dan rendah daya. Bluetooth HID over GATT (HOGP) memberikan tautan rendah-latensi pada aplikasi perangkat periferal rendah daya seperti mouse, joystick, dan keyboard. Bluetooth MAP memungkinkan aplikasi Anda bertukar pesan dengan perangkat terdekat, misalnya terminal di mobil untuk penggunaan secara handsfree atau perangkat seluler lainnya. Sebagai ekstensi pada Bluetooth AVRCP 1.3, pengguna kini bisa menyetel volume absolut pada sistem dari perangkat Bluetooth mereka.

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

IR Blaster

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

Dengan menggunakan API baru, Anda bisa membangun aplikasi yang memungkinkan pengguna mengontrol TV, tuner, switch, dan perangkat elektronik lainnya yang terdekat dari jarak jauh. API tersebut memungkinkan aplikasi Anda memeriksa apakah ponsel atau tablet memiliki pemancar infra merah, mengkueri frekuensi operatornya, kemudian mengirimkan sinyal inframerah.

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

Dukungan Wi-Fi TDLS

Android 4.4 memperkenalkan cara mulus untuk aliran media dan data lainnya lebih cepat di antara perangkat yang berada pada 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 semua aplikasi dengan menambahkan preferensi lingkup sistem untuk Teks Tertutup. Pengguna bisa masuk ke Settings > Accessibility > Captions untuk menyetel preferensi teks tertutup, misalnya apakah akan menampilkan teks dan bahasa, ukuran teks, dan gaya teks yang akan digunakan.

Aplikasi yang menggunakan video kini bisa mengakses setelan teks tertutup milik pengguna dan menyesuaikan presentasi untuk memenuhi preferensi pengguna. API baru untuk pengelola teks memungkinkan Anda memeriksa dan memantau preferensi teks pengguna. Pengelola teks menyediakan Anda status pengaturan teks yang disukai pengguna serta lokal, faktor penskalaan, dan gaya teks yang disukainya. Gaya teks meliputi warna latar depan dan latar belakang, properti pinggir, dan bentuk huruf.

Aplikasi kini bisa merujuk ke preferensi teks lingkup sistem milik pengguna. Contoh gaya tampilan yang diperkirakan ditunjukkan langsung di setelan.

Selain itu, aplikasi yang menggunakan VideoView bisa menggunakan API baru untuk meneruskan aliran teks bersama aliran video untuk rendering. Sistem secara otomatis menangani tampilan teks di bingkai video sesuai dengan setelan lingkup sistem milik pengguna. Saat ini, dukungan VideoView penampilan otomatis untuk teks dalam format WebVTT saja.

Semua aplikasi yang menampilkan teks harus dipastikan memeriksa preferensi teks lingkup sistem milik pengguna dan me-render teks sedekat mungkin dengan preferensi itu. Untuk mendapatkan wawasan lebih lengkap mengenai bagaimana penampilan kombinasi setelan tertentu, Anda bisa mengamati pratinjau teks dalam beragam bahasa, ukuran, dan gaya, langsung di aplikasi Settings.

API Aksesibilitas yang Disempurnakan

Android 4.4 memperluas API aksesibilitas untuk mendukung keterangan semantik dan struktural yang lebih presisi dan pengamatan elemen di layar. Dengan API baru, developer bisa meningkatkan kualitas masukan yang bisa diakses dengan menyediakan layanan aksesibilitas bersama informasi selengkapnya tentang elemen di layar.

Di simpul aksesibilitas, developer kini bisa menentukan apakah suatu simpul berupa jendela munculan, mengambil tipe masukannya, dan lainnya. Anda juga bisa menggunakan API baru untuk digunakan bersama simpul yang berisi informasi seperti-petak, misalnya daftar dan tabel. Misalnya, Anda kini bisa menetapkan tindakan baru yang didukung, informasi pengumpulan, mode region yang selalu berubah, dan lainnya.

Kejadian aksesibilitas baru memungkinkan developer lebih dekat lagi mengikuti perubahan yang terjadi dalam materi jendela, dan mereka kini bisa mendengarkan perubahan dalam mode eksplorasi sentuh pada perangkat.

Dukungan untuk Pengguna Internasional

Pencerminan sumber daya dapat digambar untuk lokal RTL

Jika aplikasi Anda menargetkan pengguna yang menggunakan skrip RTL, Anda bisa menggunakan API baru untuk mendeklarasikannya sebagai sumber daya dapat digambar harus dicerminkan otomatis bila setelan lokal milik pengguna menyertakan bahasa RTL.

Mendeklarasikan sumber daya dapat digambar sebagai dicerminkan otomatis akan membantu Anda mencegah duplikasi aset dalam aplikasi dan mengurangi ukuran APK. Bila Anda memiliki sumber daya dapat digambar dan dapat digunakan kembali untuk presentasi LTR dan RTL, Anda bisa mendeklarasikan versi default sebagai dicerminkan otomatis kemudian menghilangkan Drawable itu dari sumber daya RTL.

Opsi Force RTL layout mempermudah Anda menguji pelokalan aplikasi.

Anda bisa mendeklarasikan beragam tipe sumber daya dapat digambar sebagai dicerminkan otomatis dalam kode aplikasi, misalnya bitmap, nine-patch, layer, daftar status, dan sumber daya dapat digambar lainnya. Anda juga bisa mendeklarasikan sumber daya dapat digambar sebagai dicerminkan otomatis dalam file sumber daya dengan menggunakan atribut baru.

Force RTL Layout

Untuk mempermudah Anda menguji dan men-debug masalah pencerminan layout tanpa beralih ke bahasa RTL, Android menyertakan opsi baru bagi developer untuk memaksa arah layout RTL di semua aplikasi.

Opsi Force RTL Layout akan memindah perangkat ke layout RTL untuk semua lokal dan menampilkan teks dalam bahasa Anda saat ini. Ini bisa membantu Anda menemukan masalah layout di semua bagian aplikasi, tanpa harus menampilkan aplikasi dalam bahasa RTL. Anda bisa mengakses opsi tersebut di Settings > Developer options > Force RTL layout direction.

Penyempurnaan keamanan

SELinux (mode enforcing)

Android 4.4 memperbarui konfigurasi SELinux-nya dari "permissive" menjadi "enforcing". Ini berarti potensi pelanggaran kebijakan dalam domain SELinux yang memiliki kebijakan pemberlakuan atau enforcing akan diblokir.

Algoritme kriptografik yang ditingkatkan

Android telah meningkatkan keamanannya lebih jauh dengan menambahkan dukungan untuk dua algoritme kriptografik lagi. Dukungan Elliptic Curve Digital Signature Algorithm (ECDSA) telah ditambahkan ke penyedia keystore sehingga meningkatkan keamanan penandatanganan digital, berlaku pada beberapa skenario seperti penandatanganan aplikasi atau koneksi data. Fungsi derivasi kunci Scrypt diimplementasikan guna melindungi kunci kriptografik yang digunakan untuk enkripsi full-disk.

Penyempurnaan lainnya

Pada perangkat multipengguna, VPN kini diterapkan per pengguna. Ini bisa memungkinkan pengguna merutekan semua lalu lintas jaringan melalui VPN tanpa memengaruhi pengguna lainnya di perangkat. Selain itu, Android kini mendukung FORTIFY_SOURCE level 2, dan semua kode dikompilasi dengan perlindungan itu. FORTIFY_SOURCE telah disempurnakan untuk digunakan bersama clang.

Alat untuk menganalisis penggunaan memori

Procstats

Alat baru yang disebut procstats akan membantu Anda menganalisis sumber daya memori yang digunakan oleh aplikasi Anda, serta sumber daya 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 eksekusinya dan penggunaan memori untuk membantu menentukan efisiensi kinerjanya. Ini yang paling penting bagi aplikasi yang memulai layanan yang berjalan di latar belakang, karena memungkinkan Anda memantau berapa lama layanan berjalan dan berapa banyak RAM yang digunakan saat melakukannya. Procstats juga akan mengumpulkan data untuk aplikasi latar depan tentang penggunaan memori selama waktu tertentu untuk menentukan profil memori aplikasi secara umum.

Procstats bisa membantu mengidentifikasi layanan latar belakang yang dimulai oleh aplikasi Anda. Anda bisa memantau berapa lama layanan itu terus berjalan dan berapa banyak RAM yang digunakan saat melakukannya. Procstats juga memungkinkan Anda memprofilkan aplikasi saat berada di latar depan, dengan menggunakan penggunaan memorinya dari waktu ke waktu untuk menentukan profil memorinya secara umum.

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

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

Anda bisa 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 ini.

Pembuatan profil dan status memori di perangkat

Android 4.4 menyertakan opsi baru developer untuk mempermudah menganalisis profil memori aplikasi Anda saat dijalankan pada perangkat atau emulator. Ini khususnya berguna untuk mendapatkan tampilan mengenai cara aplikasi Anda menggunakan memori dan berjalan pada perangkat yang memiliki sedikit RAM. Anda bisa mengakses opsi ini di Settings > Developer options > Process stats

Process stats adalah cara praktis untuk memeriksa penggunaan memori aplikasi Anda. Anda bisa melihat bagaimana aplikasi dibandingkan dengan aplikasi lain dan memperbesar tampilan atas data tertentu tentang aplikasi Anda atau layanan latar belakangnya.

Opsi Process Stats pertunjukan kepada Anda beragam metrik tingkat tinggi atas penggunaan memori aplikasi, berdasarkan data yang dikumpulkan menggunakan layanan procstats baru. Pada layar utama Anda bisa melihat rangkuman status memori sistem. Hijau menunjukkan jumlah relatif waktu yang dihabiskan bersama penggunaan RAM yang rendah, kuning menunjukkan penggunaan RAM yang moderat, dan merah menunjukkan penggunaan RAM yang tinggi (kritis)

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

Untuk mengamati lebih dekat penggunaan memori aplikasi tertentu dalam isolasi, ketuk aplikasi tersebut. Untuk setiap aplikasi, Anda kini bisa melihat rangkuman memori yang dikonsumsi dan persentase interval pengumpulan yang telah dijalankan aplikasi. Anda juga bisa melihat rata-rata dan penggunaan maksimum selama jangka waktu pengumpulan, dan di bawah layanan aplikasi serta persentase waktu menjalankannya.

Menganalisis aplikasi Anda menggunakan data di Process Stats bisa mengungkapkan masalah dan menyarankan optimalisasi yang mungkin bagi aplikasi Anda. Misalnya, jika aplikasi Anda berjalan lebih lama daripada seharusnya atau menggunakan terlalu banyak memori selama kurun waktu tertentu, mungkin saja ada bug di kode Anda yang bisa diatasi untuk memperbaiki kinerja aplikasi, khususnya saat dijalankan pada perangkat yang memiliki sedikit RAM.