SDCardFS 淘汰

搭載 Android 11 以上版本且執行核心版本 5.4 以上的裝置將淘汰 SDCardFS。如此 裝置,VTS 測試 不允許將掛接的檔案系統列為 SDCardFS。搭載 搭載 Android 11 以上版本,但執行核心版本 4.19 或 仍可繼續使用 SDCardFS,不過 Google 不再提供 聯絡。

在淘汰之前,SDCardFS 提供了一種方法來控管模擬作業的存取權 內部儲存空間和外部 SD 卡,允許應用程式僅存取資料 或是與他們切身相關的項目此外,API 還提供了一層大小寫判斷機制 以及一些額外的儲存空間追蹤

SDCardFS 替換功能

取代 SDCardFS 會使用幾項 Linux kernel 檔案系統功能來 並獲得類似成果大小寫會由 檔案系統這會導致查詢時間與大小寫差不多 不區分大小寫的資料夾,移除 SDCardFS 中的大型資料夾速度變慢。 SDCardFS 的配額追蹤功能,用於快速收集 設定完成後,您可以透過專案配額,從使用者空間調整設定。某些 與效能敏感的結構定義、目錄繫結到原地,新的 FUSE 實作為直接存取檔案系統提供限定範圍儲存空間。 主要用於遮蓋地點資訊。

設定 SD 卡替換功能

在不使用 SDCardFS 的情況下,針對模擬儲存空間啟用專案配額和案例折疊功能 使用者的裝置搭載 Android 11 以上版本 繼承自 device.mk 檔案中的 emulated_storage.mk

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

警告: 請「不要」在裝置上執行這項操作 搭載 Android 10 以下版本 檔案系統原生區分大小寫功能與檔案型 並且啟用這些裝置的加密設定。如要繼續使用 SDCardFS 在裝置上使用您的應用程式

淘汰 SDCardFS 的原因

淘汰 SDCardFS 有許多原因。

穩定性

SDCardFS 存在數種有關個案敏感度的競爭狀況, 以及記憶體不足的情況不區分大小寫 查詢速度可能比較慢,因為查詢必須步行 下尋找替代案件存取上限和下限 同時可能導致問題。

上游對等性

SDCardFS 需要 VFS 額外的修補程式,才能支援 透過這種方式這些修補程式會導致額外工作接受上游變更 在這些領域中SDCardFS 的功能可由上游元件複製 消除這個痛點

與 API 的功能一致

先前的 Android 版本,限定範圍儲存空間對特定 特定類型的中繼資料透過 SDCardFS 直接存取儲存空間時,不支援這些方式 限定範圍儲存空間功能