2012-02-14 17 views
5

¿Cómo cambiar la prioridad del proceso en Android? He encontrado la descripción del proceso y la descripción de la misma de las prioridades en documentos androidecambiar la prioridad del proceso en android

process and thread description

process priorities

pero no he encontrado nada en cambiar la prioridad del proceso por algún método.

ps: Necesito esto para probar solo alguna característica de la aplicación que está conectada con la prioridad del proceso y no se usará en el programa.

La única forma que veo es tratar de cambiar la prioridad a través del campo importancia, pero es una mala idea, supongo.

+0

Creo que está en lo cierto, puede establecer la prioridad solo en los subprocesos y no se garantiza que la prioridad establecida se aplique siempre. El sistema operativo Android determina según las necesidades. – kosa

+0

¿Por qué crees que usar el campo de importancia es una mala idea? Parece que establecer el campo de importancia para el cual la constante sea más relevante cambiará la prioridad del proceso. Además, si desea afinar más los últimos niveles constantes, puede usar el campo Iru. – ocross

+0

Creo que es una mala idea porque cambiar el valor de un campo establecido por el sistema no es la buena práctica – user881259

Respuesta

6

¿Cómo cambiar la prioridad del proceso en Android?

En general, no es así. La prioridad del proceso es gestionada por el SO. Si su aplicación está en primer plano, se ejecutará con prioridad en primer plano. Si su aplicación no está en primer plano, no se ejecutará con la prioridad de primer plano.

Necesito esto para probar solo alguna característica de la aplicación que está conectada con la prioridad del proceso y no se usará en el programa.

Luego pruebe con un proceso que está en primer plano frente a uno que no lo está.

La única forma que veo es tratar de cambiar la prioridad a través del campo de importancia, pero es una mala idea, supongo.

Es poco probable que cambiar ese número tenga un efecto. RunningAppProcessInfo es una estructura de salida, no un medio por el cual cambiar algo reportado a través de esa estructura.

1

setpriority() y getPriority() en el código nativo existe, por lo que puede ser que podemos establecer la prioridad del código nativo. Pero, no estoy seguro si entra en vigencia por el sistema operativo o lo descuida.

0

Esto sólo funciona con un dispositivo arraigada:

Uso de un terminal, root introduciendo

su 

a continuación, seleccione el proceso de identificación de la salida de la parte superior

top -n 1 -m 10 

mirada en la columna PID y renice el proceso (en este ejemplo PID 1825 a la prioridad 0) que desea por

renice 0 1825 

Eso es todo. Tenga en cuenta que este cambio será sobrescrito por el sistema operativo, después de un tiempo, cuando el sistema operativo considere que es necesario darle más prioridad al proceso.

Cuestiones relacionadas