En el código fuente de Android M que puedes encontrar aquí es esta declaración:
/**
* @hide Range of uids allocated for a user.
*/
public static final int PER_USER_RANGE = 100000;
En esta línea de código, establece que un usuario puede tener cien mil UIDs.
Sin embargo, hay una información contradictoria. Sabes que el UID de root es 0 y los UID del sistema empiezan desde 1000. Normal aplicaciones de usuario comenzarán a partir de 10.000. Este intervalo definido para los números UID de las aplicaciones de usuario también se indica aquí como:
-
FIRST_APPLICATION_UID
tiene el valor constante de 10000 (0x00002710)
-
LAST_APPLICATION_UID
tiene el valor constante de 19999 (0x00004e1f)
Por lo tanto, el primer UID que se dará a una aplicación de usuario será 10000, y el último será 19999. Por lo tanto, establece que un usuario puede tener diez mil aplicaciones.
Entonces, ¿cuál es el correcto? Creo que este podría explicar. Antes de 4.1.1 LAST_APPLICATION_UID
fue de 99999, permitiendo noventa mil aplicaciones de usuario como el límite. Sin embargo, esto es para aplicaciones de usuario mientras que PER_USER_RANGE
no lo dice específicamente y por lo tanto probablemente incluye todos los UIDs de 0 a 99999. Después del 4.1.1 LAST_APPLICATION_UID
se redujo a 19999 pero PER_USER_RANGE
se dejó intacto.
Así que para las versiones anteriores a la 4.1.1, el límite es de noventa mil aplicaciones de usuario y para la 4.1.1 y posteriores es de diez mil aplicaciones de usuario.
Este es un límite teórico. En la práctica, su almacenamiento interno se llenará mucho antes de llegar a las diez mil aplicaciones instaladas, completando con unas dos mil aplicaciones propias (suponiendo que haya fusionado el almacenamiento, y 20 GB disponibles para instalar aplicaciones - cada aplicación es de 10 MB ). Esto es realista para la mayoría de los dispositivos modernos de 32 GB.