Penghentian SDCardFS

SDCardFS tidak digunakan lagi pada perangkat yang diluncurkan dengan Android 11 atau lebih tinggi dan menjalankan kernel versi 5.4 atau lebih tinggi. Pada perangkat tersebut, pengujian VTS tidak mengizinkan sistem file yang dipasang terdaftar sebagai SDCardFS. Perangkat yang diluncurkan dengan Android 11 atau lebih tinggi tetapi menjalankan kernel versi 4.19 atau lebih rendah dapat terus menggunakan SDCardFS, tetapi Google tidak memberikan dukungan tambahan.

Sebelum dihentikan, SDCardFS menyediakan cara untuk mengontrol akses ke penyimpanan internal yang diemulasi dan kartu SD eksternal, yang memungkinkan aplikasi hanya mengakses data yang relevan dengannya. Selain itu, ini memberikan lapisan ketidakpekaan kasus, serta beberapa pelacakan penyimpanan tambahan.

Fungsi pengganti SDCardFS

Penggantian untuk SDCardFS menggunakan beberapa fitur sistem file kernel Linux untuk mencapai hasil yang serupa. Ketidakpekaan huruf besar-kecil ditangani langsung oleh sistem file; ini menghasilkan waktu pencarian yang hampir sama di folder peka huruf besar/kecil dan tidak peka huruf besar/kecil, menghapus pelambatan folder besar dari SDCardFS. Pelacakan kuota yang dilakukan SDCardFS untuk mengumpulkan data penyimpanan dengan cepat untuk pengaturan sekarang dikonfigurasi dari ruang pengguna menggunakan kuota proyek. Dalam beberapa konteks yang sensitif terhadap kinerja, direktori diikat terpasang di tempatnya. Implementasi FUSE baru menyediakan penyimpanan terbatas untuk akses sistem file langsung, terutama untuk mendukung redaksi informasi lokasi.

Mengonfigurasi fungsi penggantian SDCard

Untuk mengaktifkan kuota proyek dan case folding untuk penyimpanan yang diemulasi tanpa SDCardFS, mewarisi dari emulated_storage.mk di file device.mk :

$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)

Lakukan ini hanya untuk perangkat yang diluncurkan dengan Android 11 atau lebih tinggi.

Mengapa menghentikan SDCardFS?

Ada berbagai alasan untuk menghentikan SDCardFS.

Stabilitas

SDCardFS mengalami beberapa kondisi balapan mengenai sensitivitas huruf besar, serta beberapa masalah tentang keadaan memori rendah. Pencarian case-insensitive bisa jadi agak lambat di direktori besar karena pencarian harus berjalan di direktori yang lebih rendah untuk menemukan case alternatif. Mengakses sistem file atas dan bawah secara bersamaan dapat menyebabkan masalah juga.

Paritas hulu

SDCardFS memerlukan tambalan tambahan ke VFS untuk mendukung opsi perubahan pada pengikatan pengikatan. Tambalan ini menyebabkan pekerjaan tambahan untuk menerima perubahan hulu ke area ini. Fitur SDCardFS dapat direplikasi oleh komponen upstream, menghilangkan titik nyeri ini.

Paritas fitur dengan API

Dalam rilis Android sebelumnya, penyimpanan terbatas akses terbatas ke jenis metadata tertentu. Akses penyimpanan langsung melalui SDCardFS tidak mendukung fitur penyimpanan terbatas ini.