2012-02-14 1 views
5

Comment modifier la priorité des processus dans Android? J'ai trouvé la description du processus et la description des priorités de docs dans Android ilmodifier la priorité des processus dans Android

process and thread description

process priorities

mais je n'ai rien trouvé sur le changement de priorité du processus par une méthode. Ps: J'ai besoin de cela pour tester seulement certaines fonctionnalités de l'application qui est liée à la priorité du processus et il ne sera pas utilisé dans le programme.

La seule façon que je vois est d'essayer de changer la priorité via champ d'importance, mais c'est une mauvaise idée je suppose.

+0

Je pense que vous avez raison, vous pouvez définir la priorité sur les threads uniquement et il n'est pas garanti que votre priorité sera toujours appliquée. Android OS détermine en fonction des besoins. – kosa

+0

Pourquoi pensez-vous que l'utilisation du champ d'importance est une mauvaise idée? Il semble que la définition du champ d'importance auquel une constante constante est la plus pertinente changera la priorité du processus. Aussi, si vous souhaitez affiner le passé les niveaux constants donnés, vous pouvez utiliser le champ Iru. – ocross

+0

Je pense que c'est une mauvaise idée car changer la valeur d'un champ qui a été défini par le système n'est pas la bonne pratique – user881259

Répondre

6

Comment modifier la priorité des processus dans Android?

Généralement, vous ne le faites pas. La priorité de processus est gérée par le système d'exploitation. Si votre application est au premier plan, elle fonctionnera avec la priorité du premier plan. Si votre application n'est pas au premier plan, elle ne fonctionnera pas avec la priorité du premier plan.

J'ai besoin de ceci pour tester seulement certaines caractéristiques de l'application qui est connectée avec la priorité de processus et il ne sera pas utilisé dans le programme. Testez ensuite avec un processus qui est au premier plan par rapport à celui qui ne l'est pas. La seule façon que je vois est d'essayer de changer la priorité par l'intermédiaire du champ d'importance, mais c'est une mauvaise idée je suppose.

La modification de ce nombre est peu susceptible d'avoir un effet. RunningAppProcessInfo est une structure de sortie, pas un moyen de modifier quoi que ce soit rapporté via cette structure.

1

setpriority() et getPriority() dans le code natif existe, donc peut-être que nous pouvons définir la priorité du code natif. Mais, je ne suis pas sûr si cela prend effet par l'OS ou le néglige.

0

Cela fonctionne uniquement avec un dispositif enraciné:

Utilisez un terminal, devenez root en entrant

su 

puis sélectionnez le processus id de la sortie du haut

top -n 1 -m 10 

regard dans la colonne PID et reniez le processus (dans cet exemple PID 1825 à la priorité 0) vous voulez par

renice 0 1825 

C'est tout. Gardez à l'esprit que cette modification sera écrasée par le système OperatingSystem, après quelque temps, lorsque OS pense qu'il était nécessaire de donner plus de priorité au processus.

Questions connexes