Purdue University přišla s projektem, který má zabránit zbytečnému vybíjení chytrých telefonů ve spánku

1

Takřka všechny mobilní operační systémy, Android nevyjímaje, používají kvůli úspoře baterie politiku vypnutí všech nepotřebných systémů při uživatelské nečinnosti. Vždy když tedy zrovna nemácháte prstem po displeji nebo s telefonem jinak nepracujete, tak se procesor automaticky přepne do režimu spánku, grafický čip se úplně vypne a všechny ostatní vnitřní funkce se omezí na naprosté minimum.

Kvůli potřebě provádět některé úlohy i při vypnutém displeji, například přijímat IM zprávy nebo emaily, však moderní systémy obsahují také API, skrze které mohou vývojáři aplikací nařídit systému, aby se čas od času probudil a dovolil jejich aplikaci vykonat nějakou krátkou práci.

To je samozřejmě dobře. Boh(dík)užel konkrétně u Androidu je ono API poměrně benevolentní a může v určitých případech způsobit problémy. Pokud například daná práce neproběhne korektně nebo v ní programátor prostě udělá nějakou chybu, tak může dojít až k tomu, že se již telefon do režimu spánku nepřepne, což povětšinou vyústí v extrémně rychlé vybití baterie během několika málo hodin doslova nic nedělání.

A právě na tento problém se zaměřily na univerzitě Purdue. Na testování si vzali 184 androidích aplikací využívající API pro bránění spánku (tzv. ‚wakelock‘) a pořádně je prozkoumali. Zjistili, že téměř celá třetina, konkrétně 42, z celého počtu obsahovala chyby, které způsobovali problémy s návratem do spánku a tedy i nadměrné vybíjení baterie.

Na základě toho pak upravily klasický Java->Java bytecode kompilátor a přidali do něj funkcionalitu automatického hledání právě takovýchto ‚wakelock‘ problémů. A zdařilo se, podle prvotního testování byl automatický nástroj schopen odhalit 100% problémů, tedy 42 závadných aplikací.

S trochou štěstí se v budoucnu dočkáme automatického nástroje na hledání podobných chyb dostupného volně pro všechny vývojáře anebo dokonce automatické testovací procedury při odesílání aplikace do Marketplace.

zdroj: purdue

 

 

  • Sec0nd Unit

    Bomba nápad