6 votos

¿Cómo ajustar el umbral del evento "almacenamiento bajo"?

No hay casi ningún usuario de Android (y desde luego ningún visitante habitual de nuestra web) que no haya oído hablar del error "almacenamiento insuficiente", o que incluso lo haya experimentado él mismo. Que debe haber al menos un 10% de almacenamiento libre en /data suena ridículo al menos cuando el espacio total de esa partición llega o supera los 8 GB. Por ello, aquí tenemos con bastante frecuencia preguntas sobre este tema.

En uno de los últimos He investigado un poco el código correspondiente, y lo he discutido en mi respuesta . Permítanme citar el bloque de código correspondiente (tomado del último código ) aquí de nuevo:

 * This class implements a service to monitor the amount of disk
 * storage space on the device.  If the free storage on device is less
 * than a tunable threshold value (a secure settings parameter;
 * default 10%) a low memory notification is displayed to alert the
 * user. If the user clicks on the low memory notification the
 * Application Manager application gets launched to let the user free
 * storage space.

Ahora, por favor, concéntrese en las líneas 2+3:

Si el almacenamiento libre en el dispositivo es inferior a un valor de umbral ajustable (un parámetro de configuración seguro; por defecto 10%)

(el énfasis es mío). Así que aquí viene mi pregunta:


TL;DR: Si ese umbral es ajustable, ¿cómo se puede ajustar?


¿Es algo en la configuración que pasamos por alto todos estos años? ¿Se supone que esto debe ser "ajustado" sólo por los "creadores de la ROM"? O, tomando la pista de un "parámetro de configuración seguro", ¿hay alguna aplicación que utilice el WRITE_SECURE_SETTINGS permiso ¿para ocuparse de ello? ¿Por qué medios se supone que debemos abordar esto (si es que lo hacemos)?

0 votos

Según developer.Android.com/reference/Android/provider/ : "Configuraciones seguras del sistema, que contienen preferencias del sistema que las aplicaciones pueden leer pero no pueden escribir. Son para preferencias que el usuario debe modificar explícitamente a través de la IU del sistema o API especializadas para esos valores, no modificadas directamente por las aplicaciones."

0 votos

Así que parece que debería ser "algo en la configuración que pasamos por alto todos estos años", ¿no?

0 votos

Parece que - o se olvidaron de implementar que para el control de usuario. El WRITE_SECURE_SETTINGS tiene nivel de protección "desarrollo" - por lo que no estoy seguro de si se concedería a una "aplicación normal" - pero "sistema o firma" (es decir, el panadero ROM) todavía podría usarlo.

5voto

Jack Wade Puntos 231

El umbral de almacenamiento bajo es el valor mínimo de los dos:

  • sys_storage_threshold_percentage (por defecto es 5% , fue 10% en Android 7 y anteriores). Se multiplica por el tamaño total de almacenamiento para obtener el valor del umbral en bytes. Este ajuste está ahí desde los primeros días de Android.
  • sys_storage_threshold_max_bytes (por defecto es 500 MiB ). Este ajuste fue Añadido: en Android 4.

En JellyBean ambas configuraciones se trasladaron de secure al espacio de nombres global . Y la lógica para calcular el umbral bajo era movido de DeviceStorageMonitorService a StorageManager .

Si el 5% del espacio total en /data es mayor que 500 MiB el umbral es siempre 500 MiB . Para ajustar el umbral a un valor aún más pequeño, por ejemplo, a 100 MB :

~$ settings put global sys_storage_threshold_max_bytes 100000000

1voto

berbt Puntos 76

Que haya al menos un 10% de almacenamiento libre en /data suena ridículo al menos cuando el espacio total en esa partición va a o más de 8 GB

Obligar al usuario a tener un 10% de espacio libre no es ridículo, ni estúpido. Ayuda a nivelar el desgaste, y es muy recomendable para los usuarios europeos debido a la ley continental de garantía de 2 años. Algunos fabricantes como Crosscall incluso ofrecen 3 años de garantía (sin restricciones).

Pasar mucho tiempo utilizando un disco con menos del 5% puede dañarlo. Un amigo tenía un gran disco Flash, y después de 14 meses con un 1% de espacio libre, el disco murió. Sí, 1% libre era entre 1GB y 10GB de espacio libre; pero el sistema necesita escribir montones de archivos de caché y temporales; y reescribir siempre las mismas celdas mató el disco.

Por eso los fabricantes de teléfonos están muy contentos en Europa con el límite del 10% de Android. Esta limitación es muy frustrante cuando se dispara; la he sufrido esta semana; pero evita que Flash muera antes de los 2 años de garantía.

-1voto

ashed Puntos 11

Es necesario construir su propio kernel con la configuración preferible, esta opción no es escribible por "normal_apps".

3 votos

no escribible por "normal_apps" no implica necesariamente la construcción de un núcleo propio. ¿Puedes respaldar eso con una fuente fiable? Una aplicación del sistema podría tener acceso a ella. El requisito de construir un kernel específico contradice de alguna manera la afirmación " sintonizable valor umbral".

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X