Sleep lock pentru Android, software intel®

Gestionarea alimentării în sistemul de operare Android - blocare pentru somn

Dar dezvoltatorii de Android au oferit o oportunitate de a nu lăsa dispozitivele cu acest sistem de operare să intre în hibernare. În unele cazuri, poate fi necesar ca CPU să rămână activ chiar și atunci când ecranul este oprit sau poate fi necesar să împiedicați oprirea automată a ecranului atunci când sunt îndeplinite anumite sarcini. În acest scop, dezvoltatorii Google * au inclus așa-numitele blocări de somn în API-ul PowerManager. Aplicațiile care necesită evitarea dispozitivelor de "adormire" pot utiliza această funcție. În timp ce sistemul are o blocare activă de somn, dispozitivul nu va putea "adormi", adică să intre în modul de așteptare (înainte de a scoate blocarea). Atunci când utilizați încuietori de somn, este important să înțelegeți că trebuie să eliminați corect aceste blocări atunci când nu sunt necesare. În caz contrar, bateria dispozitivului se va așeza rapid: la urma urmei, dispozitivul nu va putea reveni la starea de consum redus de energie.







Acest articol descrie unele aplicații Android care utilizează blocări de somn în Android 4.0. Articolul descrie, de asemenea, aplicația "Wakelocks" din setul de eșantioane SDPS pentru a demonstra implementarea blocărilor de somn în cod.

Utilizarea blocărilor de somn cu aplicații

Funcția de blocare a somnului este ținută în timpul redării muzicii

Tabel: Utilizarea blocărilor de somn cu aplicații standard Android

Selectarea tipului de blocare

Înainte de a începe să scrieți codul de blocare a somnului, trebuie să înțelegeți ce tipuri de încuietori de somn există pentru a selecta tipul cel mai potrivit pentru utilizare în aplicație. API-ul Android PowerManager descrie diverse opțiuni de blocare disponibile pentru a schimba starea alimentării dispozitivului:

Tabel: Din API-ul Android PowerManager.

Rețineți că blocările de somn reduc în mod semnificativ durata de funcționare a dispozitivelor Android de la baterii, deci nu ar trebui să utilizați blocări de somn dacă le puteți face fără ele. Dacă este posibil, acestea trebuie eliminate cât mai curând posibil.

Țineți ecranul activ (de la setarea SDPSelor)

Aplicația WakeLock din suita SDPSamples demonstrează că o aplicație poate ține ecranul în timp ce folosește Window Manager, fără a scrie un cod de blocare a somnului. Lansați aplicația WakeLock și selectați elementul "Win Man Screen On".

Sleep lock pentru Android, software intel®

În timp ce textul din bara de stare a butonului este "Ecranul este blocat", ecranul va fi pornit. Dacă textul din bara de stare a butonului este "Ecranul este UNLOCKED", ecranul se va stinge după 5 secunde de inactivitate.







Codul se face o screenLockUpdateState funcție () în fișierul WakeLockActivity.java prin introducerea și scoaterea FLAG_KEEP_SCREEN_ON pentru cadrul curent, la fiecare apăsare și condițiile de schimbare.

Implementarea unei blocări de somn

Aplicația WakeLock din setul de probe SDPS implementează încuietori de somn de diferite tipuri. După lansarea aplicației WakeLock, alegeți unul dintre cele 4 tipuri de încuietori de somn: Power Wake Lock Full, Power Wake Lock Luminos, Power Wake Lock Dim și Power Wake Lock Parțial. Aceste patru opțiuni corespund celor 4 steaguri de blocare a somnului descrise în API-ul PowerManager. Fiecare element demonstrează răspunsul dispozitivului la o încercare de a opri ecranul după 5 secunde.

Sleep lock pentru Android, software intel®

Monitorizând conținutul fișierelor / sys / power / wake_lock (necesită acces la root), puteți vedea că, după ce apăsați butonul de pornire, este salvată numai blocarea de blocare PARTIAL_WAKE_LOCK. Restul blocărilor de somn nu opresc complet ecranul: acesta continuă să funcționeze cu un anumit nivel de luminozitate.

Când scrieți codul de blocare a somnului, trebuie mai întâi să solicitați permisiunea de a le utiliza în manifestul AndroidManifest.xml:

După aceasta, puteți crea un obiect WakeLock care conține funcțiile acquire () și release () pentru a gestiona blocarea somnului. Un exemplu bun este în fișierul WakeLockActivity.java:

concluzie

Materiale de referință

notițe

CU EXCEPȚIA CAZURILOR convenit în scris INTEL, PRODUSELE INTEL NU SUNT DESTINATE UTILIZĂRII ÎN SITUAȚII CÂND EROAREA acestora poate provoca rănirea sau moartea.

Intel Corporation își rezervă dreptul de a modifica specificațiile și descrierile produselor sale fără notificare prealabilă. Designerii nu ar trebui să se bazeze pe caracteristicile lipsă, precum și pe caracteristicile marcate ca "rezervate" sau "nedefinite". Aceste caracteristici sunt rezervate de Intel pentru utilizare ulterioară, astfel încât lipsa conflictelor de compatibilitate pentru acestea nu este garantată. Informațiile din acest document pot fi modificate fără notificare. Nu utilizați aceste informații în proiectul final.

Produsele descrise în acest document pot conține erori și inexactități, astfel încât caracteristicile reale ale produselor să difere de cele prezentate aici. Erori deja identificate pot fi furnizate la cerere. Înainte de a plasa o comandă, obțineți cele mai recente specificații la biroul regional de vânzări Intel sau la distribuitorul local.

Software-ul și încărcăturile utilizate în testele de performanță ar putea fi optimizate pentru a obține performanțe ridicate pe microprocesoarele Intel. Testele de performanță, cum ar fi SYSmark și MobileMark, sunt efectuate pe anumite sisteme informatice, componente, programe, operații și funcții. Orice modificare a oricăror elemente poate duce la o modificare a rezultatelor. Atunci când alegeți produsele care urmează să fie cumpărate, ar trebui să consultați alte informații și teste de performanță, inclusiv teste de performanță pentru un anumit produs în combinație cu alte produse.

Acest document și software-ul descris în acesta sunt furnizate sub licență și pot fi utilizate și distribuite numai în conformitate cu termenii licenței.

Intel® și sigla Intel sunt mărci comerciale ale Intel Corporation în Statele Unite și în alte țări.

* Alte nume și mărci comerciale pot fi proprietatea unor terțe părți.

Pentru mai multe informații despre capacitățile de optimizare a compilatorului, consultați Notificarea noastră de optimizare.







Articole similare

Trimiteți-le prietenilor: