SDCardFS è deprecato sui dispositivi lanciati con Android 11 o versioni successive e che eseguono la versione del kernel 5.4 o successive. In corrispondenza di tali dispositivi, VTS test non consente i file system montati elencati come SDCardFS. Dispositivi che vengono avviati con Android 11 o versioni successive, ma con la versione del kernel 4.19 o successiva di livello inferiore possono continuare a utilizzare SDCardFS, ma Google non fornisce assistenza.
Prima del suo ritiro, SDCardFS forniva un modo per controllare l'accesso ai memoria interna e schede SD esterne, consentendo alle app di accedere solo ai dati pertinenti. Inoltre, forniva un livello di insensibilità alle maiuscole, nonché un monitoraggio dello spazio di archiviazione aggiuntivo.
Funzionalità di sostituzione SDCardFS
La sostituzione di SDCardFS utilizza diverse funzionalità del file system del kernel Linux per ottenere risultati simili. La sensibilità alle maiuscole viene gestita direttamente dal filesystem; di conseguenza, i tempi di ricerca sono quasi identici nelle cartelle sensibili alle maiuscole e nelle cartelle insensibili alle maiuscole, eliminando il rallentamento delle cartelle di grandi dimensioni da SDCardFS. Il monitoraggio delle quote che SDCardFS eseguiva per raccogliere rapidamente i dati di archiviazione per le impostazioni ora è configurato dallo spazio utente utilizzando le quote del progetto. In alcuni contesti sensibili alle prestazioni, le directory vengono montate in modo vincolato. Un nuovo L'implementazione di FUSE fornisce archiviazione mirata per l'accesso diretto al file system, principalmente per supportare l'oscuramento delle informazioni sulla posizione.
Configura la funzionalità di sostituzione della scheda SD
Abilita le quote per i progetti e la piegatura delle richieste per lo spazio di archiviazione emulato senza SDCardFS
su un dispositivo con Android 11 o versioni successive,
eredita da emulated_storage.mk
nel file device.mk
:
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
Avviso: non eseguire questa operazione sui dispositivi lanciato con Android 10 o versioni precedenti, l'insensibilità nativa alle maiuscole/minuscole del file system non è compatibile impostazioni di crittografia utilizzate su questi dispositivi. È necessario continuare a utilizzare SDCardFS su questi dispositivi.
Motivi per ritirare SDCardFS
Esistono vari motivi per cui SDCardFS è stato ritirato.
Stabilità
SDCardFS presenta diversi problemi di race condition relativi alla sensibilità alle maiuscole, nonché alcuni problemi relativi a situazioni di scarsa memoria. Le ricerche insensibili alle maiuscole possono essere piuttosto lente in directory di grandi dimensioni perché devono esaminare la directory inferiore per trovare le maiuscole alternative. Anche l'accesso contemporaneamente ai filesystem superiore e inferiore può causare problemi.
Parità upstream
SDCardFS richiede patch aggiuntive per VFS per supportare la modifica delle opzioni su collegare i supporti. Queste patch richiedono un lavoro aggiuntivo per accettare le modifiche a monte di queste aree. Le funzionalità di SDCardFS possono essere replicate dai componenti a monte, rimuovendo questo problema.
Parità di funzionalità con l'API
Nella release precedente di Android, lo spazio di archiviazione limitato consentiva l'accesso a determinati tipi di metadati. L'accesso diretto allo spazio di archiviazione tramite SDCardFS non supporta queste funzionalità di archiviazione basate su ambito.