Google telah merilis platform seluler terbuka. Android 17. Kode sumber untuk rilis baru tersedia di repositori Git proyek (cabang android-17.0.0_r1). Build firmware telah disiapkan untuk perangkat berikut: Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold, dan Pixel Tablet. Build firmware pra-rilis tersedia untuk perangkat dari HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo, dan Xiaomi. Build Generic System Images (GSI) yang sesuai untuk berbagai perangkat berbasis arsitektur ARM64 dan x86_64 sedang dalam proses pembuatan.
Di antara perubahan (1, 2, 3):
- Mode multi-jendela baru, "Bubbles," telah ditambahkan. Mode ini memungkinkan Anda untuk meluncurkan aplikasi apa pun dalam jendela mengambang, mirip dengan notifikasi overlay untuk mengirim pesan ("gelembung"), tetapi tidak terikat pada API khusus. Membuka aplikasi dalam jendela mengambang dilakukan dengan menekan lama ikon aplikasi. Pada layar yang lebih besar, ikon jendela mengambang muncul di area terpisah pada taskbar. Jendela-jendela ini dapat dikelompokkan, dipindahkan, dan disematkan ke layar.

- Pengembangan platform untuk perangkat dengan layar besar, seperti tablet, laptop, sistem desktop, dan ponsel pintar dengan layar lipat, terus berlanjut. Opsi yang sebelumnya diaktifkan untuk menonaktifkan perilaku baru pada perangkat dengan layar lebih lebar dari 600 piksel (dp) telah dihapus. Perilaku ini terkait dengan pengabaian API tertentu untuk mengelola pengubahan ukuran dan orientasi layar (screenOrientation, resizeableActivity, [min|max]AspectRatio), serta penempatan adaptif aplikasi di jendela yang dapat diubah ukurannya dan dipindahkan.


- API sistem EyeDropper telah ditambahkan, memungkinkan aplikasi untuk mendapatkan informasi warna untuk piksel apa pun di layar tanpa memerlukan izin pengambilan tangkapan layar. Keamanan dipastikan dengan memungkinkan pengguna untuk memilih area yang akan diambil warnanya melalui antarmuka eyedropper yang dikelola platform, yang tidak berada di bawah kendali aplikasi. Ini berarti aplikasi tidak dapat meminta informasi tentang piksel tertentu atau membuat ulang konten layar piksel demi piksel.

- Antarmuka sistem untuk memilih kontak dari buku alamat telah ditambahkan. Akses ke antarmuka ini diberikan dengan memberikan izin ACTION_PICK_CONTACTS. Antarmuka ini menghilangkan kebutuhan akan izin READ_CONTACTS, yang memungkinkan membaca semua data kontak. Saat memanggil antarmuka baru, pengguna memutuskan informasi mana dari buku alamat yang akan diteruskan ke aplikasi, dengan opsi untuk memilih hanya bidang individual.

- API PhotoPickerUiCustomizationParams telah ditambahkan untuk menyesuaikan antarmuka pemilih foto, sehingga lebih sesuai dengan gaya aplikasi yang memanggilnya. Misalnya, Anda dapat mengubah rasio aspek thumbnail foto dari 1:1 (persegi) menjadi 9:16 (potret).

- Izin USE_LOCATION_BUTTON telah ditambahkan, memungkinkan Anda untuk menyematkan tombol sistem ke dalam antarmuka aplikasi Anda untuk memberikan akses ke data lokasi yang tepat. Tombol tersebut ditampilkan oleh sistem dan, ketika diklik oleh pengguna, memberikan akses ke data lokasi hanya selama durasi sesi saat ini.

- Telah ditambahkan pengaturan yang memungkinkan Anda menyembunyikan tampilan nama aplikasi di bawah ikonnya.


- Desain toolbar perekaman screencast telah diubah.

- Menambahkan dukungan untuk Reaksi Layar, yang menggabungkan perekaman video dari kamera depan dengan pembuatan rekaman layar untuk menambahkan komentar Anda sendiri pada tindakan di layar.
- Sebuah mode telah ditambahkan untuk game pada perangkat dengan layar lipat, di mana satu bagian dari layar lipat digunakan untuk menampilkan gameplay, dan bagian lainnya untuk gamepad virtual.

- Menambahkan API Handoff, memungkinkan Anda untuk mentransfer status aplikasi ke aplikasi lain di dekatnya. Android-perangkat (misalnya, tablet) dan lanjutkan bekerja di sana.

- Menerapkan jendela terpasang interaktif yang, tidak seperti jendela Picture-in-Picture tradisional, tetap interaktif saat dipasang di atas aplikasi lain dalam mode desktop.
- Dua API baru telah ditambahkan: API UWB DL-TDOA untuk menentukan posisi perangkat di dalam gedung menggunakan Wi-Fi untuk navigasi dalam ruangan; dan API Deteksi Kedekatan untuk mendeteksi perangkat terdekat melalui Wi-Fi.
- Dukungan telah ditambahkan untuk format video VVC (Versatile Video Coding), juga dikenal sebagai standar kompresi video H.266, yang dikembangkan bersama oleh kelompok kerja MPEG (ISO/IEC JTC 1) dan VCEG (ITU-T), dengan partisipasi perusahaan seperti Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm, dan Sony. H.266 menggantikan H.265 (HEVC) dan menyediakan transmisi dan penyimpanan yang efisien untuk semua resolusi layar (dari SD dan HD hingga 4K dan 8K), mendukung video High Dynamic Range (HDR), dan video panorama 360 derajat.
- Kemampuan untuk merekam video dengan tingkat kualitas konstan telah ditambahkan. Mode ini dikonfigurasi dalam objek MediaRecorder menggunakan metode setVideoEncodingQuality(), memungkinkan Anda untuk mengunci tingkat kualitas terlepas dari bitrate.
- Menambahkan dukungan untuk format gambar RAW14, yang digunakan dalam kamera digital profesional dan menyediakan penyimpanan 15 bit per saluran warna.
- Menambahkan dukungan untuk format video HDR Eclipsa Video.
- Menambahkan encoder perangkat lunak untuk format audio HE-AAC (High-Efficiency Advanced Audio Coding), yang mendukung bitrate rendah dan tinggi.
- Izin baru, ACCESS_LOCAL_NETWORK, telah ditambahkan untuk membatasi akses aplikasi ke jaringan lokal. Izin ini memungkinkan aplikasi untuk mengidentifikasi dan terhubung ke perangkat di jaringan lokal, seperti perangkat rumah pintar dan sistem multimedia. Izin ini ditambahkan untuk mencegah aplikasi berbahaya memindai sumber daya jaringan lokal, misalnya, untuk secara diam-diam mengidentifikasi lingkungan pengguna.
- Perlindungan terhadap penyadapan kata sandi sekali pakai (OTP) dan kode konfirmasi yang dikirim melalui SMS telah diperluas. Sebagian besar aplikasi sekarang hanya memiliki akses langsung ke pesan-pesan ini tiga jam setelah diterima. Pembaca SMS bawaan menampilkan pesan-pesan ini segera.
- Perlindungan terhadap panggilan dari individu penipu yang menyamar sebagai karyawan bank telah diimplementasikan. Platform ini dapat berinteraksi dengan aplikasi perbankan yang terpasang untuk memastikan bahwa panggilan tersebut berasal dari bank. Bank juga dapat mengidentifikasi nomor telepon yang hanya menerima panggilan masuk.
- Menambahkan kemampuan untuk memberikan akses sementara kepada aplikasi ke data lokasi yang tepat, yang hanya berlaku selama sesi penggunaan program saat ini.
- Mekanisme perlindungan Dynamic Code Loading (DCL) telah diperluas untuk mendukung pustaka asli yang dimuat melalui metode System.load(), bukan hanya
File DEX dan JAR. DCL mencegah kode berbahaya dimasukkan ke dalam file eksekusi yang dimuat secara dinamis dengan menetapkan hak akses baca saja untuk file tersebut. - Mekanisme Transparansi Sertifikat diaktifkan secara default, yang mencatat secara publik semua sertifikat yang diterbitkan dan dicabut.
- Kemampuan untuk mensertifikasi paket APK dengan tanda tangan digital berdasarkan algoritma hibrida yang menggabungkan algoritma klasik dengan algoritma ML-DSA, yang tahan terhadap serangan brute force pada komputer kuantum, telah diperkenalkan.
- Aplikasi yang berjalan di latar belakang memiliki akses terbatas ke API untuk memutar audio, terhubung ke perangkat audio, dan mengubah volume. Ini berarti bahwa hanya aplikasi aktif yang sedang digunakan pengguna yang dapat memulai pemutaran dan mengubah volume.
- Menambahkan dukungan untuk enkripsi hibrida berdasarkan mekanisme HPKE (Hybrid Public Key Encryption, RFC 9180), yang menggabungkan kemudahan transfer kunci dalam enkripsi kunci publik dengan kinerja tinggi enkripsi simetris (data dienkripsi dengan kunci simetris yang cepat, dan kunci itu sendiri dienkripsi dengan kunci asimetris yang lambat).
- Saat memasukkan kata sandi dan PIN menggunakan keyboard fisik, tampilan karakter terakhir yang dimasukkan saat Anda mengetik dinonaktifkan secara default.
- Untuk menyederhanakan implementasi dukungan touchpad dalam game, penanganan event mouse dan touchpad telah disatukan. Secara default, event touchpad yang terkait dengan pergerakan pointer dan gestur scrolling kini dikonversi ke koordinat relatif, sama seperti pada mouse. Akses ke koordinat absolut disediakan dengan secara eksplisit menentukan mode POINTER_CAPTURE_MODE_ABSOLUTE.
- Metode getInitialRestingBounds() telah ditambahkan ke objek ChooserSession, memungkinkan Anda untuk mengetahui posisi dan ukuran akhir dialog Chooser setelah animasi berhenti dan data dimuat.
- Menambahkan metode getStreamingAppMaxDownlinkKbps dan getStreamingAppMaxUplinkKbps untuk menentukan bandwidth maksimum saluran komunikasi untuk tujuan pemilihan tingkat kualitas streaming.
- API telah disediakan untuk produsen perangkat keras guna membuat ekstensi kamera yang memungkinkan fitur khusus aplikasi, seperti mesin peningkatan detail Super Resolution, mode pengurangan noise, dan pengoptimal kualitas AI.
- API telah ditambahkan untuk mendapatkan informasi tentang jenis kamera (kamera internal, webcam USB, atau kamera virtual).
- Dukungan telah ditambahkan untuk alat bantu dengar yang terhubung melalui Bluetooth Low Energy (BLE). Perangkat ini sekarang diklasifikasikan dalam kategori TYPE_BLE_HEARING_AID yang baru, memungkinkan aplikasi untuk membedakan antara alat bantu dengar dan headphone serta mengontrol pemutaran suara sistem secara terpisah (misalnya, Anda dapat memutar notifikasi, nada dering, dan alarm pada speaker internal ponsel Anda, bukan pada alat bantu dengar Anda).
- Pengaturan terpisah telah ditambahkan untuk menampilkan kata sandi yang dimasukkan pada keyboard fisik dan pada layar sentuh. Secara default, karakter kata sandi yang dimasukkan menggunakan keyboard fisik akan langsung disembunyikan.
- Tampilan widget aplikasi yang lebih baik pada layar eksternal dengan mempertimbangkan perbedaan DPI saat penskalaan.
- Menambahkan permintaan ACTION_VPN_APP_EXCLUSION_SETTINGS, yang dapat digunakan untuk membuka layar sistem dengan pengaturan yang memungkinkan aplikasi untuk mengakses jaringan dengan melewati terowongan VPN.
- Menambahkan dukungan untuk fitur bahasa OpenJDK 25 dan kelas Java.
- Kemampuan API kamera telah diperluas. Metode updateOutputConfigurations() telah ditambahkan ke objek CameraCaptureSession untuk melampirkan atau melepaskan wilayah output secara langsung tanpa harus mengkonfigurasi ulang seluruh sesi pengambilan gambar kamera. Perubahan ini memungkinkan peralihan yang mulus antara berbagai mode kamera (misalnya, perekaman video dan pengambilan foto). Saat bekerja dengan kamera logis yang mencakup beberapa sensor fisik, kemampuan untuk mengambil metadata untuk setiap sensor, bukan hanya sensor utama, telah ditambahkan.
- Atribut android:usesCleartextTraffic, yang memungkinkan aplikasi untuk mengirimkan lalu lintas yang tidak terenkripsi, seperti permintaan "http://", telah usang. Jika lalu lintas yang tidak terenkripsi diperlukan, file konfigurasi keamanan terpisah harus digunakan.
- Menambahkan pengaturan untuk mengelola riwayat panggilan VoIP, memungkinkan Anda mengontrol apakah informasi disimpan dalam log dan apakah informasi tentang panggilan yang telah selesai ditampilkan di antarmuka.
- API Wi-Fi RTT (Round-Trip-Time) telah diperluas untuk menyediakan estimasi kedekatan berkelanjutan ke titik akses dan deteksi node peer-to-peer yang aman.
- Profil baru telah ditambahkan ke CompanionDeviceManager untuk meminta izin dan mengaktifkan interaksi aplikasi dengan perangkat medis dan pelacak kebugaran.
- В Android Runtime (ART) mengimplementasikan pengumpul sampah generasional (Generational Concurrent Mark-Compact Garbage Collector), yang memisahkan pemrosesan objek "lama" dan "baru", sehingga meningkatkan efisiensi pembersihan objek yang baru dibuat dengan masa hidup singkat. Penggunaan pengumpul sampah generasional mengurangi risiko kemacetan selama alokasi sumber daya dan mengurangi beban CPU, sehingga meningkatkan efisiensi energi.
- Batasan jumlah maksimum RAM yang dapat digunakan oleh suatu aplikasi telah diterapkan. Jika batasan tersebut, yang dihitung berdasarkan RAM yang tersedia pada perangkat, terlampaui, aplikasi akan dihentikan secara paksa. Untuk mengurangi konsumsi memori, R8 Optimizer telah diperkenalkan, yang mengemas nama kelas, metode, dan bidang, serta menghapus kode dan sumber daya yang tidak digunakan.
- Saat mengkompilasi kernel Linux AutoFDO (Auto-Feedback-Directed Optimization) diaktifkan. Fitur ini menggunakan hasil profiling dengan informasi tentang frekuensi eksekusi berbagai bagian kode untuk meningkatkan kinerja operasi yang sering dieksekusi. Dalam pengujian yang dilakukan, pengaktifan AutoFDO untuk kernel menghasilkan pengurangan waktu booting sebesar 2.1%, percepatan eksekusi program pertama kali sebesar 4.3%, peningkatan efisiensi panggilan sistem sebesar 9.3%, pengurangan waktu eksekusi transaksi Binder mmap sebesar 12.3%, pengurangan waktu eksekusi HwBinder sebesar 20%, dan pengurangan waktu eksekusi Binder RPC sebesar 21.7%.
- Implementasi baru dari antrian pesan android.os.MessageQueue diusulkan, yang beroperasi tanpa penguncian. Implementasi baru ini meningkatkan kinerja dan mengurangi kehilangan frame.
- Permohonan klaim dukungan Android Pada versi 17 dan rilis selanjutnya, mengubah nilai bidang yang ditandai sebagai "static final" dilarang, sehingga memungkinkan pengoptimalan kinerja yang lebih agresif diaktifkan saat runtime.
- Untuk mengurangi konsumsi memori, ukuran tata letak tampilan notifikasi kustom telah dibatasi.
- Pemicu tambahan TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM, dan TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE telah ditambahkan ke profiler ProfilingManager untuk mengumpulkan data yang berguna untuk mendebug masalah kinerja.
Sumber: opennet.ru












