SDCardFS dejó de estar disponible en dispositivos que se inician con Android 11 o versiones posteriores y ejecutan la versión 5.4 del kernel o una posterior. En esos dispositivos, las pruebas de VTS no permiten sistemas de archivos activados que aparezcan como SDCardFS. Dispositivos que se lanzan con Android 11 o versiones posteriores, pero ejecutan la versión de kernel 4.19 o o menos podrán seguir usando SDCardFS, pero Google no proporciona y asistencia.
Antes de su baja, la SDCardFS permitía controlar el acceso a los el almacenamiento interno y las tarjetas SD externas, lo que permite que las apps accedan solo a los datos que son relevantes para ellos. Además, proporcionaba una capa de insensibilidad entre mayúsculas y minúsculas, ya que además de un seguimiento del almacenamiento adicional.
Funcionalidad de reemplazo de SDCardFS
El reemplazo de SDCardFS usa varias funciones del sistema de archivos del kernel de Linux para lograr resultados similares. El sistema de archivos controla directamente la distinción entre mayúsculas y minúsculas, lo que genera tiempos de búsqueda casi idénticos en las carpetas que distinguen mayúsculas de minúsculas y en las que no lo hacen, lo que quita la ralentización de las carpetas grandes de SDCardFS. El seguimiento de cuotas que SDCardFS realizaba para recopilar rápidamente datos de almacenamiento para la configuración ahora se configura desde el espacio de usuario con cuotas de proyecto. En algunos contextos sensibles al rendimiento, los directorios se activan en su lugar. Un nuevo La implementación de FUSE proporciona almacenamiento específico para el acceso directo al sistema de archivos, principalmente para respaldar la ocultación de información de ubicación.
Cómo configurar la funcionalidad de reemplazo de la tarjeta SD
Para habilitar las cuotas de proyectos y el plegado de fundas para el almacenamiento emulado sin SDCardFS
en un dispositivo que se inició con Android 11 o una versión posterior
heredarán de emulated_storage.mk
en el archivo device.mk
:
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
Advertencia: No realices esta acción en dispositivos que se lanzaron con Android 10 o versiones anteriores, ya que la insensibilidad a mayúsculas y minúsculas nativa del sistema de archivos es incompatible con la configuración de encriptación basada en archivos que se usa en esos dispositivos. Es necesario seguir usando SDCardFS en esos dispositivos.
Motivos para dar de baja SDCardFS
Existen varias razones para dar de baja SDCardFS.
Estabilidad
SDCardFS tiene varias condiciones de carrera relacionadas con la distinción entre mayúsculas y minúsculas, como También hay algunos problemas relacionados con la memoria insuficiente. Las búsquedas que no distinguen mayúsculas de minúsculas pueden ser bastante lentas en directorios grandes, ya que las búsquedas deben recorrer el directorio inferior para encontrar casos alternativos. Acceder a los sistemas de archivos superior e inferior al mismo tiempo también puede generar problemas.
Paridad ascendente
SDCardFS requiere parches adicionales en el VFS para admitir opciones de cambio en las activaciones de vinculación. Estos parches generan trabajo adicional para aceptar cambios ascendentes a en estas áreas. Los componentes upstream pueden replicar las funciones de SDCardFS, lo que quita este problema.
Paridad de funciones con la API
En la versión anterior de Android, el almacenamiento específico limitaba el acceso a determinados tipos de metadatos. El acceso directo al almacenamiento a través de SDCardFS no admite estas funciones de almacenamiento centradas.