Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

SDCardFS棄用

在Android 11中,不支持5.4和更高版本的內核使用SDCardFS。 VTS測試不允許這些內核版本將掛載的文件系統列為SDCardFS。先前的內核版本可以繼續將SDCardFS用於Android 11,但是Google不提供其他支持。

在Android的早期版本中,SDCardFS提供了一種方法來控制對模擬內部存儲和外部SD卡的訪問,從而允許應用程序僅訪問與其相關的數據。此外,它還提供了一個不區分大小寫的層,以及一些附加的存儲跟踪。

SDCardFS替換功能

在Android 11中,區分大小寫直接由文件系統處理。這導致區分大小寫和不區分大小寫的文件夾的查找時間幾乎相同,從而消除了SDCardFS中大文件夾的速度。現在,使用項目配額從用戶空間配置了SDCardFS為快速收集設置的存儲數據而進行的配額跟踪。在某些對性能敏感的上下文中,目錄綁定安裝在適當的位置。新的FUSE實現為直接文件系統訪問提供了範圍存儲,主要是為了支持位置信息的編輯。

配置SDCard替換功能

要在沒有SDCardFS的情況下為仿真存儲啟用項目配額和大小寫折疊,請從device.mk文件中的emulated_storage.mk繼承:

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

具有案例折疊支持的加密需要使用策略v2。要啟用此功能,請在fstab的vold標誌中指定:v2 。例如:

fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized

為什麼不贊成使用SDCardFS?

有多種原因不建議使用SDCardFS。

穩定性

SDCardFS遭受幾種區分大小寫的競爭條件,以及一些有關內存不足情況的問題。在大型目錄中,不區分大小寫的查找可能會相當慢,因為查找必須走到較低的目錄才能找到替代的大小寫。同時訪問上層和下層文件系統也可能導致問題。

上游平價

SDCardFS需要VFS的其他補丁程序以支持更改綁定安裝上的選項。這些補丁會導致額外的工作來接受這些區域的上游更改。 SDCardFS的功能可以由上游組件複製,從而消除了這一難題。

與API的功能對等

在Android的早期版本中,範圍存儲限制了對特定類型的元數據的訪問。通過SDCardFS進行的直接存儲訪問不支持這些作用域存儲功能。