2012-02-14 17 views
5

Come modificare la priorità del processo in Android? Ho trovato descrizione del processo e la descrizione della sua priorità nei documenti Androidpriorità del processo di modifica in Android

process and thread description

process priorities

ma non ho trovato nulla su come modificare la priorità del processo da qualche metodo.

ps: ho bisogno di questo per testare solo alcune funzionalità dell'applicazione che è collegata con la priorità del processo e non verrà utilizzata nel programma.

L'unico modo che vedo è provare a cambiare la priorità tramite il campo importanza, ma è una cattiva idea, immagino.

+0

Penso che tu abbia ragione, puoi impostare la priorità solo sui thread e non è garantito che la tua priorità impostata sarà sempre applicata. Sistema operativo Android determina in base alle necessità. – kosa

+0

Perché pensi che l'utilizzo del campo di importanza sia una cattiva idea? Sembra che impostare il campo di importanza a cui è sempre costante la costante cambierà la priorità del processo. Inoltre, se si desidera ottimizzare ulteriormente la sintonizzazione dei livelli costanti forniti, è possibile utilizzare il campo Iru. – ocross

+0

Penso che sia una cattiva idea perché cambiare il valore di un campo che è stato impostato dal sistema non è la buona pratica – user881259

risposta

6

Come modificare la priorità del processo in Android?

In generale, non è così. La priorità del processo è gestita dal sistema operativo. Se la tua app è in primo piano, verrà eseguita con priorità in primo piano. Se la tua app non è in primo piano, non verrà eseguita con priorità in primo piano.

Ho bisogno di questo per testare solo alcune funzionalità dell'applicazione che è collegata con la priorità del processo e non verrà utilizzata nel programma.

Quindi testare con un processo in primo piano rispetto a uno che non lo è.

L'unico modo che vedo è provare a cambiare la priorità tramite il campo di importanza, ma è una cattiva idea, immagino.

Cambiare quel numero è improbabile che abbia effetto. RunningAppProcessInfo è una struttura di output, non un mezzo tramite il quale modificare qualsiasi cosa segnalata tramite quella struttura.

1

setpriority() e getPriority() nel codice nativo esiste, quindi può essere possiamo impostare la priorità del codice nativo. Ma, non sono sicuro se ha effetto dal sistema operativo o lo trascura.

0

Questo funziona solo con un dispositivo radicata:

utilizzare un terminale, diventa root immettendo

su 

quindi selezionare il processo-id dall'uscita del top

top -n 1 -m 10 

aspetto nella colonna PID e rinominare il processo (in questo esempio PID 1825 con priorità 0) che si desidera per

renice 0 1825 

Questo è tutto. Ricordare che questo cambiamento verrà sovrascritto dal sistema operativo, dopo un po 'di tempo, quando il sistema operativo ritiene che sia necessario conferire maggiore priorità al processo.

Problemi correlati