API-ul de power management de pe Android e departe de perfect

de: Alexandru Puiu
19 06. 2012

Un grup de cercetatori de la Universitatea Purdue, aceeasi care au demonstrat ca reclamele omoara bateriile de Android, acum se pare ca au un scop la fel de legat de platforma celor de la Google ca si prima oara.

Un nou studiu, publicat cu putin timp in urma, atrage atentia asupra utilizarii gresite a unui API care permite aplicatiilor sa ruleze in fundal, chiar si atunci cand telefonul este in standby. Intitulat Wakelock, respectivul API desi are un scop nobil, profesorul Y Charlie Hu a demonstrat ca poate cu usurinta sa fie implementat prost.

Cel mai rau lucru care se poate inampla in urma unei implementari defectuoase a respectivului API este ca telefonul sa aiba ecranul inchis, dar sa consume energia electrica ca si cum ar fi deschis. Ca urmare, o aplicatie care ramane deschisa cu scopul de a-ti inregistra activitatile, sau de a-ti aminti ceva, iti poate termina bateria telefonului inainte sa-ti aminteasca ce era de amintit.

In cadrul testului, 187 de aplicatii au fost testate, iar in urma analizei 42 au fost descoperite ca avand un bug ce permitea terminalului sa nu doarma in conditii optime. Desi o matematica simpla are releva un procent aproximativ de esec de 25%, avand in vedere ca un astfel de bug ti-ar putea duce termina bateria in 5-6 ore, mai bine sa-l previi decat sa-l tratezi.

Incercand sa si ajute dezvoltatorii cu aplicatii defectuoase, cercetatorii de la Purdue au publicat pe site-ul Universitatii un compilator care cauta si elimina bug-urile de baterie. In aceasta situatie, daca una din aplicatiile voastre are greseli legate de acest bug, respectivele sunt definite ca problematice.