In che modo l'utilizzo della RAM influisce sul consumo della batteria?


17

Sono davvero confuso sulla gestione della memoria Android.

Ho appena letto qui che uccidere le app scorrendo dall'elenco recente o usando i task killer non ti farà risparmiare la batteria ma si scaricherà di più perché questo fa sì che il sistema operativo carichi nuovamente le app la prossima volta che la avvii o la esegui da sola. Hanno anche detto che in realtà dovremmo preoccuparci dell'utilizzo della CPU, non dell'utilizzo della RAM.

Significa che usare troppa RAM non scarica la batteria? Dato che la RAM è un hardware, tenere qualcosa sopra non dovrebbe scaricare la batteria? Cosa succede se stavo giocando a Temple Run e premevo semplicemente il pulsante Home in modo che l'app si caricasse più velocemente al prossimo avvio? O dovremmo semplicemente premere il pulsante Indietro fino a quando l'app non esce come facciamo sempre? Ho anche cercato su Internet, ma alcuni hanno detto che avrebbe scaricato la batteria perché si trova sulla RAM, alcuni hanno detto che non c'è differenza tra la RAM contiene dati effettivi o nulla. Dovremmo abbandonare la nostra abitudine di uccidere le app e sentirci semplicemente rilassati?

Alcune risposte precise sarebbero molto apprezzate. Grazie. :)


1
La tua RAM è uno dei tuoi hardware meno assetati di energia ...
Brian S,

Il tuo esempio di corsa al tempio potrebbe non essere il migliore: poiché i giochi possono avere fame di memoria, o verranno uccisi dal sistema operativo piuttosto rapidamente, oppure proattivamente salveranno via i dati importanti quando vengono inviati in background. In questo caso potrebbe caricarsi un po 'più velocemente perché è ancora caricata una piccola parte, ma probabilmente i dati di gioco dovranno comunque essere caricati. Un esempio migliore potrebbe essere un semplice client Twitter: potrebbe adattarsi alla tua RAM fino a quando non ne avrai più bisogno.
Nanne,

Risposte:


22

Dubito che esista una correlazione diretta tra consumo della batteria e utilizzo della RAM. L'hardware non sa quali celle RAM contengano dati "usati" e quali no. Quindi non ci può essere alcuna differenza nel consumo della batteria a quel livello.

Ma penso che si potrebbe dire che uccidere inutilmente le app provoca alcuni cicli di CPU extra quando tali app devono essere riavviate e quindi "utilizza più batteria".

E sì, dovresti assolutamente abbandonare la tua abitudine di uccidere le app. Nella maggior parte dei casi, Android è in grado di gestire abbastanza bene le risorse del sistema e non dovresti preoccuparti di uccidere manualmente le app. Sicuramente non consumeranno più batteria se resteranno inattivi e consumeranno un po 'di RAM. Naturalmente, se quelle App usano costantemente la CPU, consumano la batteria (ma di solito questo è un segno di un bug all'interno dell'app o di un'app mal implementata).


D'altra parte, ci sono app che si comportano male e che si svegliano e non tornano a dormire in un periodo di tempo ragionevole. Queste sono le app che molto probabilmente possono causare problemi alla batteria. Puoi dare un'occhiata a loro usando Wakelock Detector
Ehtesh Choudhury

Ecco perché ho detto che le app che usano costantemente la CPU sono generalmente difettose o almeno mal implementate. Nota che non consiglierei di utilizzare app come Wakelock Detector in quanto questa funzionalità è ora parte di Android (con 4.4 IIRC).
Flusso

16

Pensa alla RAM come a un quaderno di carta. Puoi scrivere i dati nel libro (con una matita) e puoi cancellare quei dati e sostituirli con nuovi dati, ma il libro ha sempre lo stesso peso. Il libro non diventa più pesante, qualunque cosa tu ci scriva. Allo stesso modo, con l'attuale tecnologia RAM, l'uso della batteria della RAM è fisso, indipendentemente da cosa (se non altro) è memorizzato in essa.

Dal punto di vista di Android, non importa se lasci un'app con il pulsante Home o il pulsante Indietro. Premendo il pulsante Indietro non si uccide un'app né la si rimuove dalla RAM. Scorrere un'app dall'elenco delle "app recenti" non uccide l'app o la rimuove dalla RAM. L'unica differenza che fa è cambiare ciò che l'app ti mostra la prossima volta che la avvii: la schermata in cui ti trovavi prima o la schermata principale / prima dell'app.

Immagina di avere un quaderno (come prima) e una grande libreria con molti libri di consultazione. Non puoi portare con te i libri di consultazione, quindi se hai bisogno di conoscere un argomento, devi copiare le informazioni da un libro di consultazione sul tuo piccolo taccuino. Quando si esaurisce lo spazio nel notebook, si utilizza la gomma per cancellare alcune informazioni non necessarie, in modo da poter copiare più informazioni al suo interno.

Tutta questa copia è noiosa. Quindi, una volta che hai copiato alcune informazioni, vuoi tenerle nel tuo notebook per tutto il tempo in cui pensi di averne bisogno. Tieni traccia di quali informazioni nel notebook stai utilizzando in questo momento, e quali informazioni usi spesso e quali informazioni non hai usato per un po '. Quando vuoi fare spazio, prima cancelli le informazioni che non usi da un po '. Se non ti è rimasto nulla di tutto ciò, allora cancelli alcune informazioni che usi spesso ma non in questo momento. Solo se sei davvero alla disperata ricerca di spazio (forse c'è un grande argomento che occupa l'intero blocco appunti) cancelli le informazioni che stai utilizzando oggi.

Questo è esattamente ciò che Android sta facendo con la tua RAM. La grande libreria con libri di consultazione è come la memoria interna del tuo telefono: non puoi usarla direttamente (perché i libri sono stampati, non scritti a matita), quindi è costoso (ci vuole tempo ed energia) per copiare i dati sul tuo notebook ( RAM) su cui lavorare.

Un'app di gestione attività è come un'insegnante che pensa che il tuo notebook sia disordinato con tutte quelle pagine di note che non usi più. L'insegnante arriva ogni tanto e cancella intere pagine di note. Questo non è necessario, perché non rende il libro più facile da portare in giro: il libro pesa lo stesso indipendentemente. Non solo, l'insegnante non sa quali informazioni usi più spesso - potrebbe avere una vaga idea, ma non lo sa bene come te - quindi a volte quando cancella le informazioni, il costo è un viaggio extra per la libreria, che altrimenti non avresti avuto bisogno.

Pensandoci in questo modo, è facile rispondere alla tua domanda. L'uso di più RAM non utilizza direttamente più energia. Un'app di gestione attività può farti usare più energia, perché devi copiare cose dalla memoria interna alla RAM che altrimenti non avresti dovuto fare. Allo stesso modo, una singola app affamata di RAM ti costa due volte: prima devi scrivere tutte le informazioni di quell'app nel notebook e poi quando hai finito con esso, ci sono molte informazioni che devi cancellare (per rendere spazio), che devi copiare nuovamente dallo scaffale.


2
Haha, mi piace l'analogia (+1). (Anche se, tecnicamente, se scrivi qualcosa sul notebook peserà solo un po 'di più ... ma sto diventando troppo critico.) Qualcos'altro da notare per @MinNaingOo è che, se stai eseguendo un Task Manager, che Task Manager utilizza anche i cicli di accensione (CPU AKA) per fare ciò che deve fare. Quindi ... viene utilizzata più batteria.
JasCav,

2
Potrebbe anche valere la pena menzionare il garbage collector. Il tuo notebook non contiene solo informazioni di cui potresti aver bisogno di nuovo. Contiene anche "immondizia": informazioni di cui sicuramente non avrai più bisogno. Questo perché Android è pigro e non cancella nemmeno la spazzatura fino a quando non ha bisogno di più memoria. Quando hai poca memoria, raccoglierà questa spazzatura per risparmiare spazio. Se la memoria è insufficiente, spesso raccoglierà i rifiuti più spesso e utilizzerà più batteria.
James_pic

@James_pic Questo è il quarto paragrafo. Non voglio aggiungere anche il GC all'interno dell'app, poiché si tratta di un argomento più ampio, rilevante solo per i programmatori.
Dan Hulme,

The only difference it makes is changing what the app shows you next time you launch it- Eh, per lo più vero, ma non sempre. "Indietro" dice all'app, "okay, ho finito", quindi può fare immediatamente una pulizia extra. Ho ucciso il mio piano dati un giorno quando ho accidentalmente toccato "Home" anziché "Indietro" da Google Maps: continuava ad aggiornarsi in background.
Izkata,

> Scorrere un'app dall'elenco "app recenti" non uccide l'app o la rimuove dalla RAM. Questo è stato modificato nelle ultime versioni di Android. Vedi ad esempio: code.google.com/p/android/issues/detail?id=63618
jis

1

Come ti ha spiegato l'articolo, non importa quanta roba viene caricata nella RAM, quindi va bene se non chiudi le applicazioni inattive. Ma se l'app svolge costantemente attività, come la sincronizzazione di alcuni dati, il download o persino la registrazione del suono, consumerebbe la batteria, poiché utilizza la CPU, che assorbe l'energia della batteria, in tal caso, chiudendo le app essere una buona cosa da considerare. Altrimenti, se sei sicuro che l'app non eseguirà un'attività costante in background, non dovresti preoccuparti che venga memorizzata nella RAM, è lo stesso che archiviare i tuoi file in SDCard (intendo che SDCard non lo fa usare la batteria, giusto?). Quindi rilassati :) Immagino che la corsa al tempio non svolga alcuna attività in background, quindi non preoccuparti di lasciarla nell'ariete. Spero di averti spiegato. Saluti!


0

C'è una grande differenza tra iOS e Android. iOS blocca le app, Android no. La logica che spiega in quell'articolo non può essere applicata ad Android, dove alcune app consumano la batteria mentre sono in background. Se ti interessa, usa qualcosa come Greenify invece di un task killer.


Quali sono i vantaggi dell'app di congelamento?
Min Naing Oo

1
@MinNaingOo, un'app "cattiva", non può far pensare a un utente che la batteria dell'iPhone si stia esaurendo. Quindi, fermando l'utente che incolpa Apple.
Ian Ringrose,

1
@MinNaingOo Leggi questo addictivetips.com/android/…
bluehallu

1
@Hallucynogenyc Sto usando Greenify su tutti i miei dispositivi Android anche se non sapevo molto sui suoi vantaggi. Grazie per il link :)
Min Naing Oo


0

Rispondere alla domanda del titolo: "È possibile utilizzare troppa RAM per scaricare la batteria?"
(Non è la tua "vera" domanda, ma forse utile per gli altri interessati al titolo delle domande.)

Sì, quando troppa RAM viene utilizzata da app o servizi che tentano di essere eseguiti contemporaneamente, il sistema potrebbe dover uccidere alcuni di essi molto frequentemente, anche più volte al secondo, e riavviarli non appena sono necessari da qualcos'altro.
Quello sta usando molti cicli della CPU e quindi una certa capacità della batteria.

Si noti che non è un caso normale, come "non uccidere alcune app manualmente", è uno stato "molto rotto" - ma l'ho visto accadere, sembra essere correlato a molti servizi che interferiscono e competono per la memoria.


-1

Poiché la RAM principale è dinamica (fatta di capasitor che perdono informazioni) devono essere aggiornati. Questo aggiornamento prende potere e un blocco completo (o usato) dovrebbe richiedere più potere per "ricaricarsi" di una volta contenente tutti gli 0 o in qualche modo sa che non viene utilizzato.

Tuttavia, se ciò è effettivamente evidente è per qualcuno con più elettronica sapere / come.

Ho sempre notato un maggiore utilizzo della batteria su tutti i computer quando si utilizza più RAM, indipendentemente dal livello della CPU, ma ci devono essere alcuni altri fattori in gioco qui.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.