un blog de Radu Dumitru

►► canalele mele de YouTube: youtube.com/RaduDumitru (personal) și youtube.com/NwraduBlog (tech) ◄◄

Memoria telefonului – posibilă cauză a autonomiei reduse?

24 Jan 2013  ·

TEHNOLOGIE  ·

18 comentarii

google_lg_nexus_4_13Am o bănuială în ceea ce privește o legătură dintre autonomie unui telefon cu Android și mărimea memoriei RAM instalate pe acesta. În lipsa telefoanelor, nu o pot testa, dar s-ar putea ca modelele viitoare să-mi confirme spusele.

Am avut până acum două telefoane cu 2 GB memorie RAM, dublu față de ceea ce este oarecum standard pentru actualele modele. Ambele telefoane (e vorba de Samsung Galaxy Note II și LG Nexus 4) au avut autonomie mai mare față de restul modelelor testate.

Managementul memoriei este întotdeauna o treabă dificilă pentru un sistem de operare cu resurse limitate. Android-ul trece programele inactive într-un standby, o stare de suspendare în care acestea nu mai consumă multe resurse, dar pot fi reactivate într-un timp scurt. Atunci când un alt program vrea să ruleze, sistemul de operare trebuie să elimine din memorie alte programe, să le suspende sau să le închidă de tot pentru a face loc noului venit.

Problema este că mai toate consumă memorie chiar și rulând în fundal. Eu am Facebook, Tweetdeck, Whatsapp, Google Play, Foursquare, Instagram și Gmail de la care primesc des notificări. La acestea se adaugă tot felul de servicii de localizare, sincronizare și upload, precum Dropbox, Messages, unele de la HTC, Business Calendar, Juice Defender, ba chiar și Shazam mă surprinde uneori cu câte o notificare, semn că el rulează undeva în spate.

Ideea mea este următoarea: dacă se consumă multă baterie tocmai pentru că sistemul de operare jonglează foarte des cu aplicații, încercând să le permită tuturor să ruleze atunci când vor? Dacă toate aceste aplicații care periodic fac niște sincronizări sau interogări minore sunt descărcate și încărcate de Android de fiecare dată, pentru că sunt multe la număr și des rulate?

Frecatul memoriei, ca să zic așa, și al procesorului care face toate acestea, ar putea consuma ceva baterie în funcție de arhitectura chipset-ului respectiv. Iar telefoanele cu 2 GB de RAM teoretic fac aceste eliberări de două ori mai rar, deci ar putea fi o cauză a autonomiei sporite.

Singura necunoscută este cât de mult impact are acest lucru în autonomie fată de restul proceselor.

    18 comentarii

  1. Da, inca un argument pentru mai multa memorie RAM in telefon. Nu m-am gandit niciodata la asta, dar sper sa ai dreptate si sper ca producatorii sa inteleaga asta cat mai repede. :D

      (Citează)

  2. pe de alta parte, memoria merge cu curent. mai multa memorie > mai mult curent.

    e sensibila treaba, cel putin.

      (Citează)

  3. Nu știu dacă autonomia este chiar așa de strâns legată de cantitatea memoriei RAM. În articol ai fost destul de vag dpmdv, în sensul că ai zis de autonomie crescută, dar nu ai dat niște cifre concrete. Totuși observația ta s-ar aplica și la telefoanele cu care m-am mai jucat.

    Cu toate astea, cred că autonomia depinde de modul de utilizare al telefonului și jonglarea cu display/conexiuni de date/load procesor.
    Telefoanele mai ieftine au mai puțină memorie, dar și componente mai puțin energy efficient. Telefoanele mai scumpe tind să aibă componente ceva mai de calitate/cu un consum mai redus de energie.

    Legătura dintre RAM și autonomie e o chestiune interesantă de investigat.

      (Citează)

  4. Din ce ai explicat tu, pare sa prinda sens.

      (Citează)

  5. O avea Galaxy Note II ecranul mai mare, dar are si ditamai acumulatorul (3100 mAh), deci e logic sa aiba autonomie mai mare decat un telefon care are ecranul putin mai mic dar acumulatorul este aproape la jumatate.

    LG Nexus 4, pe langa faptul ca are bateria destul de maricica (2100 mAh), merge ca melcul.
    Nu stiu ce au facut cei de la LG, dar telefonul are cel mai smecher procesor de pe piata, 2 GB de RAM si scoate abia 4820 de puncte in Quadrant. Pai One X si Galaxy S II scot cu 2000 de puncte mai mult, deci e normal sa aiba si un consum mai mare.

    Mai degraba conteaza capacitatea acumulatorului, tehnologia de fabricare a procesorului (40 nm vs. 28 nm) si tehnologia ecranului (LCD vs. Amoled) decat memoria telefonului.

      (Citează)

  6. Hm. S-ar putea sa ai dreptate.
    Daca este sa ne uitam la laptopuri acelasi lucru se intampla. Vrei consum de energie redus cumperi mai mult RAM, pentru a nu fi nevoit sa “frece” informatiile din HDD in RAM in Procesor, si apoi sa goleasca acel 1-2 GB pentru a face loc noilor informatii ce trebuiesc procesate.

      (Citează)

  7. Nu stiu daca e chiar asa. Nu ma pot pronunta de nexus 4, insa note 2 are si acumulator mare.
    In plus, logic ar fi ca, cu cat este memoria mai mare, cu atat mai multe aplicatii raman “agatate” in stand-by. Deci cu atat mai mult de procesat, ceea ce s-ar traduce printr-un consum mai mare de energie.

    Note2 e primul telefon la care las pornite toate conexiunile posibile, de sincronizari nu mai zic, nu ma intereseaza incarcarea memoriei, stau pe net ca si la celelalte telefoane, si cu toate astea nu e musai sa-l incarc in fiecare seara. Minunat!

      (Citează)

  8. Ai punctat un lucru bun, dar ce ai spus e valabil doar daca ai swap pe telefon. Trebuie sa verifici daca pe telefoanele pe care le-ai testat ai swap sau nu.

    Cum arata pe masina normala (cu swapfile, vezi linia 15): http://pastebin.com/T87qGsty
    Defy-ul meu se pare ca nu are swapfile: http://pastebin.com/HyShbnMs

    Privind din alt punct de vedere problema cu memoria, o cantitate mai mare ajuta managerul de memorie in alocarea unor zone mai mari de date deoarece le poate aloca dintr-o singura bucata.
    Pe telefoanele cu memorie mai putina ai mai multe sanse ca memoria sa fie fragmentata, astfel un bloc se va aloca in mai multe zone de memorie.

    O alta idee ar fi ca SoC-urile noi stiu sa treaca mai inteligent prin P-States si C-States si pot sa faca Power Gating mai bine.

      (Citează)

  9. Dintre telefoanele pe care le-ai testat, si Padfone 2 are 2GB RAM. La ala nu mi s-a parut autonomia prea nemaipomenita. Era OK dar atat: cam o zi.

      (Citează)

  10. Parca mie mi se pare ca cel mai mare consum intr-un telefon mobil il are partea de “radio”, respectiv 2G, 3G, 4G(!), Wi-Fi, Bluetooth, s.a.m.d. … lucrurile aici sunt firesti, pana la urma discutam de un telefon a carui functie primara este totusi efectuarea de convorbiri. Iar pentru acest lucru trebuie sa comunice in permanenta cu reteaua de “celule” GSM/3G/4G, asta in conditiile unei permanente si (mult prea) variabile atenuari a undelor emise/primite. Saracul telefon incearca sa compenseze pentru toate lipsurile retelei iar asta consuma acumulatorul intr-un ritm alarmant. Nu a observat nimeni ca autonomia creste semnificativ in momentul in care treci telefonul in “flight mode” (sau cum i-o zice acum). Treaba cu memoria mi se pare desueta, RAM are nevoie de curent electric pt. a functiona (trebuie reimprospatat tot timpul), deci cu cat ai mai mult cu atat consumi mai mult! Treaba cu “frecusul” din RAM in flash si invers e o prostie, nu acolo este risipa.

    “Dacă toate aceste aplicații care periodic fac niște sincronizări sau interogări minore” – adica folosesc reteaua, deci obliga “radio”-urile sa functioneze si sa consume.

    Pe de cealalta parte, desi nu face obiectul discutiei, o aplicatie grafica interactiva, rulata permanent in foreground, cu iluminatul ecranului la maxim si cu procesorul la fel, va consuma intr-un ritm alert orice fel de acumulator, oricat ar fi el de capabil. Dar, asta cred ca stie toata lumea deja si nu e vreo surpriza.

    Succes!

      (Citează)

  11. @George,

    Faci o greseala frecventa care tine mai mult de denumiri. Functia principala a unui smartphone nu mai este de multa vreme efectuarea de convorbiri.

    Pe de alta parte, intr-adevar cel mai mare consumator, luat ca si componenta, este ecranul.

    E simplu de observat ce mananca mai multa baterie cu o aplicatie de genul Battery Monitor Widget pentru Android, rulata vreo 2-3 zile in background. Dupa perioada asta de calibrare, prin extrapolare, iti prezinta un raport cu perioadele de utilizare teoretice atunci cand folosesti telefonul in anumite moduri. De departe, cele mai mari mancatoare de baterie sunt rularea unor aplicatii cum ar fi jocurile. Asta nu e neaparat vreo surpriza insa vine ca o dovada a faptului ca nu radiourile sunt clar cele mai mari mancatoare de energie.

    Cel mai mult, spre exemplu, telefonul meu ar rezista atunci cand il folosesc pentru convorbiri. Perioada raportata e cu vreo 20% mai lunga decat ascultatul melodiilor din telefon si dubla fata de urmatoarele doua clasate: Internet prin Wifi si Online Audio.

      (Citează)

  12. Din ce date am gasit pe net se pare ca o memorie LPDDR2 (ca cele folosite in telefoane) de 2 gb consuma ~23 mA in standby, si un maxim de ~210 mA in utilizare) De asemenea cred ca e rezonabil sa consideram ca o memorie de 1gb consuma cu approx 30% mai putin decat cea de 2 gb.
    Swapurile acestea se fac in intervale de timp de ordinul unei secunde in cel mai nefavorabil caz(ramflash)). Dupa parerea mea in cazul unei memorii ram de 1 Gb au loc cam toate aplicatiile care pot fi pornite in mod normal, cacheuirea lor avand loc doar cand se deschide vre-un joc sau ceva care mananca foarte multa memorie ram(ceea ce se intampla rar).
    Avand in vedere dimensiunea unei baterii(2100mAh) si cele de mai sus cred ca nu prea face nicio diferenta reala dpdv al consumului de putere o memorie de 1Gb vs una de 2Gb.

      (Citează)

    • @mihaiweb: da, îmi place ce-ai zis, dar explicația ta se aplică doar memoriei și proceselor I/O fix la nivelul ei. Chipsetul este însă o chestie mai complexă, depinde de întreaga arhitectură, de cum este acea memorie utilizată și ce controller are etc. Așa că momentan e un pic greu de calculat aici.

        (Citează)

  13. astea cu mai multa memorie RAM ar putea avea un consum mai mic de energie pentru ca isi incarca tot ce trebuie in RAM, nefiind nevoie sa acceseze memoria interna a telefonului, operatiune ce probabil ar consuma mai multa energie.

    o chestie mai lunga despre consumul de energie pe smartphoneuri: http://research.microsoft.com/en-us/people/mzh/eurosys-2012.pdf

      (Citează)

  14. Daniel Mitran

    27/01/2013 la 8:27 PM

    Dupa cei de ma sus care aproba vine si o opinie contrara: eu ma astept ca un Galaxy Note II cu 2GB RAM sa consume mai repede bateria decat un Galaxy Note II cu 1GB RAM pe urmatorul criteriu: cel de 2GB tine in RAM (active) mai multe programe; majoritatea programelor de Android sunt scrise, din punct de vedere al power managementul-ului, cu picioarele; aproape nimeni nu foloseste Google API pentru notifications; multi tin in background procese de refresh aiurea.
    De principiu eu sunt total impotriva Task Manager-elor si am recomanda in repetate randuri prietenilor sa nu le mai foloseasca. Insa nu pot sa nu recunosc ca un task manager (mai ales pre-ICS) chiar are influente asupra bateriei.

    Pacat nu vom avea niciodata la dispozitie exact acelasi telefon in variante de 1&2GB RAM pentru a face o verificare

      (Citează)

    • @Mihai: tu vorbești de cazuri speciale. Tuturor ne ține mai mult telefonul când suntem pe roaming și nu avem datele pornite, tuturor ne ține mai mult telefonul când suntem conectați pe wifi, nu pe 3G. Dar chiar și în aceste situații, eu întreb dacă unul cu 2 GB de memorie ține și mai mult decât unul cu 1 GB.

      Note II are baterie mai mare și ecran mai mare. Dacă te uiți, sunt proporționale.

      @Daniel: e posibil să ai dreptate, dar din toate observațiile mele n-a fost așa.

        (Citează)

  15. Nu cred ca mai mult RAM rezolva problema bateriei. Asa cum s-a spus aici, telefoanele alese de tine nu pun o baza prea buna pentru afirmatia ta. Note II are o baterie mare, Nexus 4 are cea mai noua versiune de Android. Este adevarat ca pana si la Note II, din 2 G de RAM raman liberi vreo 600-700 de M. Daca nu te joci pe telefon, in afara ecranului, cel mai mare consumator este “Cell Standby” (care tine de radio). Pe vremea cand aveam HD2 cu Android am descoperit ceva foarte interesant. Am fost plecat pe afara si nu aveam roaming-ul activat, astfel ca am pus telefonul in airplane mode si am pornit doar WiFi-ul. La utilizarea mea tinea in jur de 2 zile maxim (utilizare medie). Telefonul a stat asa 4 zile plecand de la o baterie care nu era incarcata 100%. Am folosit telefonul la fel ca si inainte. In momentul cand nu il foloseam deloc, pierdea din baterie cam 1-2% pe zi. Anul trecut am avut si un Nokia 808 Pureview, pe care l-am folosit la fel fara SIM (nu aveam un microSIM, la telefonul meu folosesc SIM normal), am facut doar poze. Si el a tinut cam 3 zile pana cand am fost nevoit sa il pun la incarcat. Am tinut ecranul aprins mereu, pentru ca am facut poze multe cu PureView.

    Android a ajuns intr-un punct in care este foarte flexibil, insa producatorii nu scot nici macar 50% din cat poate un gadget. Ca sa poti afirma ceva, trebuie sa vezi ce optiuni are activate kernel-ul respectiv, sa vezi cum ruleaza in fundal Android. Nu cred ca 2 GB de RAM rezolva problema autonomiei. Pentru fiecare telfon cu Android, sunt cateva zeci de kernel-uri care ofera imbunatatiri mari la consumul bateriei. Ori pui o baterie mai mare in telefon, ori optimizezi in draci Android-ul pus pe telefon, pentru ca se poate.

      (Citează)

  16. @nwradu: Da, stiu ca are ecran mai mare, dar proportia e in favoarea bateriei. Dimensiunea ecranului creste mai putin decat creste capacitatea bateriei (la Note II). Cred ca 1 GB de RAM in plus nu face diferenta. Am enumerat situatia cu telefonul in airplane mode pentru ca ai spus mai sus ca radio-ul nu consuma bateria. Radio-ul unui smartphone tine in spate mult mai multe decat partea de GSM propriu-zisa. Se pare ca Note II e unul din singurele telefoane optimizate cu Android (la fel ca si Note I).

    S-a mai vorbit aici de swap. Android-ul nu foloseste aceasta optiune, din pacate.

      (Citează)

    Alătură-te discuției, lasă un mesaj

    E-mail-ul nu va fi publicat. Fără înjurături și cuvinte grele, că vorbim prietenește aici. Gândiți-vă de două ori înainte de a publica. Nu o luați pe arătură doar pentru că aveți un monitor în față și nu o persoană reală.

    Apăsați pe Citează pentru a cita întreg comentariul cuiva sau selectați întâi anumite cuvinte și apăsați apoi pe Citează pentru a le prelua doar pe acelea. Link-urile către alte site-uri, dar care au legătură cu subiectul discuției, sunt ok.


    Prin trimiterea comentariului acceptați politica de confidențialitate a site-ului.



    Vreți un avatar în comentarii? Mergeți pe gravatar.com (un serviciu Wordpress) și asociați o imagine cu adresa de email cu care comentați.

    Dacă ați bifat să fiți anunțați prin email de noi comentarii sau posturi, veți primi inițial un email de confirmare. Dacă nu validați acolo alegerea, nu se va activa sistemul și după un timp nu veți mai primi nici alte emailuri

    Comentariile nu se pot edita ulterior, așa că verificați ce ați scris. Dacă vreți să mai adăugați ceva, lăsați un nou comentariu.

sus