Android a introduit des quotas de système de fichiers dans Android 8 pour obtenir Statistiques de stockage plus rapides c'est-à-dire pour faciliter l'audit et l'application des limites d'utilisation de l'espace aux applications :
"Cette fonction de quota améliore également la stabilité du système en empêchant une seule application d'utiliser plus de 90 % de l'espace disque ou 50 % des inodes."
Il est particulièrement utilisé pour effacer les fichiers de données en cache des applications lorsque le stockage est insuffisant et que les applications dépassent leurs limites. Le système d'exploitation calcule ces limites en fonction de différents critères et les enregistre dans un fichier. /data/system/cachequota.xml
.
Les quotas de disque sont une fonctionnalité du noyau Linux qui peut être contrôlée depuis l'espace utilisateur à l'aide d'outils tels que outils de quota . Ils fonctionnent également sur 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
Cependant, sur Android "La fonction de quota fait partie de l'implémentation par défaut de l'outil de gestion de la qualité de l'eau. installd
" - le démon qui gère l'installation et la désinstallation des applications à l'arrière. Si quota
se trouve dans fstab
pour userdata
partition, les options de montage des quotas sont activé cuando init
monte la partition au démarrage. Donc pour désactiver le quota de système de fichiers sur Android, vous devez supprimer quota
l'option de fstab
. Voir Quel est le fichier "fstab" par défaut dans Android ?
L'approche la plus simple consiste à supprimer les fichiers inutiles que l'application conserve en mémoire. stockage . Vous pouvez également utiliser une autre application (avec un UID différent) pour la copie, car les quotas sont attribués sur la base de chaque UID.