SDCardFS tidak digunakan lagi di perangkat yang diluncurkan dengan Android 11 atau yang lebih tinggi dan menjalankan kernel versi 5.4 atau yang lebih tinggi. Pada perangkat tersebut, pengujian VTS tidak mengizinkan sistem file yang terpasang yang tercantum sebagai SDCardFS. Perangkat yang diluncurkan dengan Android 11 atau yang lebih tinggi, tetapi menjalankan kernel versi 4.19 atau yang lebih rendah dapat terus menggunakan SDCardFS, tetapi Google tidak memberikan dukungan tambahan.
Sebelum penghentiannya, SDCardFS menyediakan cara untuk mengontrol akses ke penyimpanan internal yang di-emulasi dan kartu SD eksternal, sehingga aplikasi hanya dapat mengakses data yang relevan bagi aplikasi tersebut. Selain itu, fitur ini menyediakan lapisan yang tidak peka huruf besar/kecil, serta beberapa pelacakan penyimpanan tambahan.
Fungsi penggantian SDCardFS
Pengganti SDCardFS menggunakan beberapa fitur sistem file kernel Linux untuk mencapai hasil yang serupa. Ketidakpekaan huruf besar/kecil ditangani langsung oleh sistem file; hal ini menghasilkan waktu pencarian yang hampir identik di folder peka huruf besar/kecil dan tidak peka huruf besar/kecil, sehingga menghilangkan pelambatan folder besar dari SDCardFS. Pelacakan kuota yang dilakukan SDCardFS untuk mengumpulkan data penyimpanan dengan cepat untuk setelan kini dikonfigurasi dari ruang pengguna menggunakan kuota project. Dalam beberapa konteks yang sensitif terhadap performa, direktori di-bind mount di tempatnya. Implementasi FUSE baru menyediakan penyimpanan terbatas untuk akses sistem file langsung, terutama untuk mendukung penyamaran informasi lokasi.
Mengonfigurasi fungsi penggantian SDCard
Untuk mengaktifkan kuota project dan pelipatan huruf untuk penyimpanan yang di-emulasi tanpa SDCardFS di perangkat yang diluncurkan dengan Android 11 atau yang lebih tinggi,
lakukan pewarisan dari emulated_storage.mk
dalam file device.mk
:
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
Peringatan: Jangan lakukan hal ini di perangkat yang diluncurkan dengan Android 10 atau yang lebih rendah, karena ketidakpekaan huruf besar/kecil native sistem file tidak kompatibel dengan setelan enkripsi berbasis file yang digunakan di perangkat tersebut. SDCardFS harus tetap digunakan di perangkat tersebut.
Alasan untuk menghentikan penggunaan SDCardFS
Ada berbagai alasan untuk menghentikan penggunaan SDCardFS.
Stabilitas
SDCardFS mengalami beberapa kondisi race terkait sensitivitas huruf besar/kecil, serta beberapa masalah terkait situasi memori rendah. Pencarian yang tidak peka huruf besar/kecil dapat berjalan cukup lambat di direktori besar karena pencarian harus menelusuri direktori yang lebih rendah untuk menemukan huruf besar/kecil alternatif. Mengakses sistem file atas dan bawah secara bersamaan juga dapat menyebabkan masalah.
Kesetaraan upstream
SDCardFS memerlukan patch tambahan ke VFS untuk mendukung perubahan opsi pada pemasangan terikat. Patch ini menyebabkan pekerjaan tambahan untuk menerima perubahan upstream di area ini. Fitur SDCardFS dapat direplikasi oleh komponen upstream, sehingga menghilangkan masalah ini.
Paritas fitur dengan API
Pada rilis Android sebelumnya, penyimpanan terbatas membatasi akses ke jenis metadata tertentu. Akses penyimpanan langsung melalui SDCardFS tidak mendukung fitur penyimpanan tercakup ini.