Android introdujo las cuotas del sistema de archivos en Android 8 para conseguir Estadísticas de almacenamiento más rápidas es decir, para facilitar la auditoría y la aplicación de los límites de uso del espacio a las aplicaciones:
"Esta función de cuotas también mejora la estabilidad del sistema al impedir que una sola app utilice más del 90% del espacio en disco o el 50% de los inodos".
Se utiliza especialmente para borrar los archivos de datos en caché de las aplicaciones cuando el almacenamiento se queda corto y las aplicaciones superan sus límites. El sistema operativo calcula estos límites basándose en diferentes criterios y los guarda en un archivo /data/system/cachequota.xml
.
Disk Quotas es una característica del kernel de Linux que puede ser controlada desde el espacio de usuario utilizando herramientas como quota-tools . También funcionan en Android:
~# quota -s -u 2000
Disk quotas for user #2000 (uid 2000):
Filesystem space quota limit grace files quota limit grace
/dev/loop1 4K 20480K 20480K 1 0 0
~# dd if=/dev/zero of=mountpoint/filler status=none bs=1M count=21
dd: error writing 'test/filler': Quota exceeded
Sin embargo, en Android "La función de cuotas forma parte de la implementación por defecto de installd
" - el demonio que gestiona la (des)instalación de aplicaciones en el back-end. Si quota
se encuentra en fstab
archivo para userdata
partición, las opciones de montaje de la cuota son habilitado cuando init
monta la partición en el arranque. Así que para desactivar la cuota del sistema de archivos en Android, es necesario eliminar quota
opción de fstab
. Ver ¿Qué es el archivo "fstab" por defecto en Android?
Un enfoque sencillo es eliminar los archivos innecesarios que la aplicación mantiene en almacenamiento . O puede utilizar una aplicación diferente (con un UID diferente) para copiar, ya que las cuotas se asignan por UID.