Domanda:
Posso impostarlo in modo che il "Telefono" sul mio telefono abbia la priorità su tutte le altre app?
Matt
2010-09-28 01:28:44 UTC
view on stackexchange narkive permalink

Ogni tanto il mio telefono diventa molto lento quando sono multitasking, il che è fastidioso ma va bene. C'è un modo per impostarlo in modo che l'app Dialer abbia la priorità su tutto il resto, rubando rapidamente tutte le risorse di cui ha bisogno per funzionare il più velocemente possibile?

Inoltre, sono a conoscenza della pletora di task killer disponibili ma non sono interessato a meno che non mi consenta specificamente di impostare il dialer come VIP o in qualche modo assicurarmi che il dialer ottenga i primi dibs risorse.

Moto Droid sradicato su 2.2

Non utilizzare mai un task killer su qualcosa di più recente di 2.1. Interferisce con il kernel e di solito causa più danni che benefici.
Tre risposte:
#1
+5
Bryan Denny
2010-09-28 02:02:43 UTC
view on stackexchange narkive permalink

Non credo che ci sia alcun modo per dare la priorità a thread / app in Android. Programmaticamente imposteresti la priorità del thread qui, ma sarebbero i tuoi thread nella tua app. Non dovresti essere in grado di eseguire questa operazione sull'app di qualcun altro a meno che tu non abbia la firma dello sviluppatore poiché tutte le applicazioni sono in sandbox l'una dall'altra (a meno che non venga concessa l'autorizzazione).

Mi concentrerei sul tentativo di migliorare le prestazioni generali del telefono:

  • Conserva memoria:
    • Riduci il numero di servizi in esecuzione
    • Elimina le app non usare (specialmente quelli che generano servizi)
  • Overclock (richiede root e consumerà più batteria, ma potrebbe essere risolto eseguendo un kernel sottotensione) o installando un mod personalizzato con modifiche alle prestazioni
    • Come nota a margine, l'overclock del Motorola Droid lo rende molto più reattivo della velocità di clock predefinita di 550-600 mhz, ma trovo che il consumo della batteria sia eccessivo a meno che non lo abbia il mio telefono è collegato a una fonte di alimentazione. Se porti in giro una batteria di riserva come me, potrebbe non essere un grosso problema

Hai ragione a non usare un task killer. Il sistema operativo Android è stato creato per gestire le attività in modo appropriato e altrimenti sprecheresti risorse eseguendo un servizio di uccisione automatica ogni X minuti (perché quelle attività uccise si riprodurranno di nuovo) e potenzialmente causeresti altri problemi (uccidendo un'attività che sta scrivendo la scheda SD, ad esempio, potrebbe causare il danneggiamento dei file). L'unica cosa per cui i task killer sono utili è quello per cui normalmente ne useresti uno: per uccidere i processi bloccati.

Sì, la mia performance complessiva non è che ogni tanto (di solito al massimo nel momento opportuno) si riattacca e non posso fare una telefonata. Di solito è quando guido al lavoro e ascolto un podcast. Il telefono è collegato e la temperatura di solito aumenta (il che credo influisca sulle prestazioni), quindi diventa lento e talvolta difficile effettuare chiamate rapidamente. Potrei semplicemente aggiungere una linea al mio account e ottenere un vecchio telefono a conchiglia con cui effettuare chiamate al lavoro.
D'accordo con Bryan qui. Una piccola nota, non consiglierei ancora un task killer per uccidere i processi in sospeso. Vorrei utilizzare un'app di monitoraggio dei processi come OS Monitor per visualizzare i processi e uccidere qualcosa che è appeso. Solo la mia preferenza personale per allontanare le persone dai task killer.
@Matt, Vorrei seguire il consiglio di Bryan e rimuovere le app inutilizzate e provare a ripulire il telefono e la scheda SD. Saresti sorpreso della grande differenza che può fare. E ti farebbe risparmiare dei soldi.
#2
+1
Lie Ryan
2010-12-30 20:58:42 UTC
view on stackexchange narkive permalink

Il comando Linux nice e renice (usa terminale) potrebbe essere quello che stai cercando. Il programma renice viene utilizzato per impostare la priorità di pianificazione della CPU e dell'IO di un processo in esecuzione; più alto è il valore nice (più bello è il programma) minore è la priorità di pianificazione e i programmi con un valore nice basso (IOW, "mean") hanno una priorità di pianificazione più alta.

Tuttavia, non ne sono del tutto sicuro come vengono utilizzati i valori piacevoli dal framework Android. Qui: http://code.google.com/p/openeclair/issues/detail?id=97 si accenna che le app domestiche si impediscono di essere uccise impostandosi con un valore molto basso valore; ea meno che il kernel Android non si discosti eccessivamente dal kernel Linux upstream, la CPU e lo scheduler di I / O dovrebbero usare un buon valore per dare la priorità alla pianificazione di CPU e IO.

Potrebbe essere necessario essere root e avere busybox.

Solo un'osservazione: i valori piacevoli vengono utilizzati solo per la pianificazione della CPU, non per l'I / O.
@Flow: Il valore nice viene utilizzato per determinare la priorità I / O iniziale.
Potresti sostenere la tua richiesta con un riferimento / preventivo? Il buon valore determina solo la quantità di tempo che un processo riceve nella pianificazione della CPU quando lo scheduler CFS è attivo. Il kernel Linux ha uno scheduler I / O extra che, per quanto ne so, non include il buon valore per i suoi calcoli. Normalmente uno scheduler I / O ottimizzerà il throughput, indipendentemente dal valore piacevole. C'è anche un file binario per il kernel Linux, che si chiama `ionice`. Ma questo non è lo stesso del buon valore del processo.
@Flow: dalla pagina man di ionice http://linux.die.net/man/1/ionice: * La priorità [predefinita] all'interno della classe best effort sarà derivata dinamicamente dal livello di Nizza della cpu del processo: io_priority = ( cpu_nice + 20) / 5. *
@Flow: una volta che il programma è attivo e in esecuzione, ionice può essere utilizzato per impostare la priorità di I / O in modo che non sia più correlato al valore della CPU. Tuttavia, la priorità I / O iniziale è, per impostazione predefinita, derivata dal valore iniziale della CPU.
Grazie. Ho anche scoperto che `man ionice` documenta questo per il miglior pianificatore di sforzi. Non ne ero consapevole, bella scoperta. :-)
#3
  0
Matt
2010-12-30 04:03:00 UTC
view on stackexchange narkive permalink

AutoKiller Memory Optimizer (solo root) o Auto Memory Manage

Non è specifico per il dialer, ma puoi dare al dialer una priorità più alta.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...