9

Wraz z nadejściem tego roku minęły 2 lata odkąd jestem w posiadaniu dawnego flagowca HTC o nazwie Sensation. Podczas tej burzliwej przyjaźni mój telefon miał okazję zobaczyć wiele ROMów, aplikacji, trochę gier i doświadczyć niezliczonych restartów, upadków, ładowań, pracy w różnych warunkach. W dużym skrócie można powiedzieć, że był ze mną zawsze i wszędzie tam, gdzie był potrzebny. Dzięki temu i poprzedniemu (HTC Diamond 2) smartfonowi wyrobiłem sobie bardzo dobrą opinię o producencie i stwierdziłem, że kolejny mój telefon również będzie od High Tech Computer (bo tak naprawdę brzmi rozwinięcie tego skrótu), jednak kolejne wydarzenia trochę zmieniły mój pogląd na tajwańskiego producenta.

Warto zacząć od wszędobylskich pogłosek, jakoby moja Sensacja była pierwszym krokiem ku upadkowi HTC. Słyszałem, że każdy kolejny smartfon od tego producenta jest gorszy od poprzedniego, że to już nie ta sama firma, co kiedyś, a samo Sensation ma mnóstwo błędów w budowie. Zaślepiony wiarą w jakość HTC nie wierzyłem w te twierdzenia, a kurz pod ekranem, który okazał się częstą przypadłością mojego modelu, zupełnie zignorowałem.

W ostatnie wakacje mocno zaniepokoiłem się krótkim czasem pracy na baterii mojego smartfonu. Na ROMie CM10 wytrzymywał 6 godzin w trybie czuwania, w dodatku przez cały czas był ciepły. Pierwsza myśl: jeszcze raz zainstaluję ROM, HBOOT. Tak więc zrobiłem, jednak nie pomogło. Zaniepokojony zacząłem szperać w internetach i dowiedziałem się, że mój telefon cierpi na pewną smartfonową chorobę, o nazwie Wakelock.

Czym jest wakelock?

Żeby odpowiedzieć na to pytanie, najpierw trzeba wiedzieć, że w każdym smartfonie poza głównym, tym wydajnym układem CPU, znajduje się jednostka pomocnicza pracująca wtedy, kiedy telefon śpi. Zajmuje się ona sprawdzaniem, czy nie przychodzi do nas przypadkiem połączenie, SMS oraz ogólnie kontrolowaniem systemu. To, że telefon ma wyłączony ekran, nie zawsze musi oznaczać, że urządzenie używa jedynie tego oszczędnego układu – gdy sprawdza maila, Facebooka czy Tapatalka, potrzebuje większej wydajności, więc przełącza się na główne CPU.

Mając taką wiedzę łatwo domyślić się, że o wakelocku mówimy wtedy, gdy telefon wcale nie zamierza korzystać z tego oszczędnego układu, a w trybie uśpienia co najwyżej obniży taktowanie głównych rdzeni.

Jak sprawdzić, czy mamy ten problem?

Służy do tego lekka i bardzo prosta w użyciu aplikacja o nazwie CPU Spy. Po uruchomieniu jej otrzymujemy w postaci słupków oraz tekstowej informacje o tym, ile czasu znajdował się procesor urządzenia w każdym możliwym stanie od uruchomienia smartfona. U mnie wygląda to w tej chwili tak:

2014-01-28 13.28.50

Wyraźnie widać, że na 13 godzin od uruchomienia smartfona 3 h spędził w pełnym uśpieniu. Dobrze, że śpi, źle, że tak krótko. Jeżeli naprawdę przez cały czas korzystaliśmy z urządzenia to nie ma powodów do obaw. Jeżeli jednak przez te 13 godzin telefon powinien spać, to coś jest nie tak.

Jak znaleźć przyczynę?

Żeby dowiedzieć się co uniemożliwia naszemu smartfonowi spokojny sen możemy użyć dwóch programików. Pierwszy to darmowy Wakelock Detector. Po uruchomieniu go zbierać będzie on informacje o zarządzaniu przez system energią i wykorzystaniu jej przez poszczególne aplikacje. Im dłużej zbiera, tym dokładniejsze wyniki, ale już po 5 godzinach można im się już przyjrzeć.

2013-09-15 10.44.22

Już czerwony pasek na górze informuje nas o tym, że przez 100% czasu telefon był w pełni aktywny, czyli nie spał ani przez chwilę niezależnie od wyłączonego ekranu. Aplikacja powinna wskazać nam programik lub coś systemowego, co wymaga wzmożonej pracy procesora. W tym przypadku takiej nie widać. Co wtedy? Z pomocą przychodzi płatny program Better Battery Stats, który prezentuje dokładniejsze dane.

2013-09-15 10.42.22

Na podstawie screenu łatwo stwierdzić, że problem tworzy “proximity”, czyli czujnik zbliżenia.

Jak wyleczyć wakelocka?

Ponieważ bezsenność smartfona powodowana jest najczęściej niezoptymalizowanymi aplikacjami działającymi w tle (np. Facebook), często wystarczy pogrzebać w ich ustawieniach, żeby nie synchronizowały się tak często. Gdy to nie pomaga, przyda się nam aplikacja Greenify, która już wkrótce nie będzie wymagać roota. Po uruchomieniu Greenify dostajemy ładnie posortowaną listę aplikacji, na której te najbardziej zajmujące pamięć i najczęściej działające w tle są wyróżnione. Pozwala to nie tylko zaoszczędzić baterię, ale i pamięć RAM. Niestandardowe przyczyny wakelocka często nie mają prostego rozwiązania, najbezpieczniej wtedy oddać je do serwisu.

Co z moim Sensation? (nie bierzcie ze mnie przykładu)

  • pierwsze próby

Ponieważ zmiana HBOOTa oraz reinstall ROMu nie pomógł, postanowiłem zmienić ROM na Revelation oparte na Sense. Pozytywnie zaskoczyła mnie wydajność ROMu (12k w Antutu przy 9k na stockowym ROMie) oraz jego stabilność. Na baterii trzymał w trybie czuwania 8 godzin. Jak żyć? Nie ruszałem się z domu bez powerbanku, nierzadko z plecaka wystawał kabelek. Wyglądało nerdowsko, ale nie było wygodne. Nie poddałem się i poszedłem do serwisu

  • wizyta w serwisie

Podano mi trzy przykładowe przyczyny: zwarcie na płycie głównej, niezoptymalizowany system lub stara bateria. Ostatnie dwie odrzuciłem, ponieważ na każdym systemie problem się powtarzał, a bateriami się wymieniłem na jakiś czas ze znajomym posiadającym identyczny model. Podczas, gdy u niego mój akumulator działał bez zarzutu, jego ogniwo nie potrafiło zasilić mojego smartfona dłużej niż te 8 godzin.

  • przywrócenie oryginalnego oprogramowania

Ostatnią nadzieją było RUU, które usunęło zupełnie wszystko z telefonu, wgrało oryginalny HBOOT, system i Recovery. Po 3 dniach męki ze starym, niezrootowanym  ICSem uświadomiłem sobie, że to wcale nie pomogło.

  • ostateczne rozwiązanie

Od dawna myślałem nad opcją usunięcia czujnika zbliżenia z urządzenia, jednak traktowałem to jako ostateczność. Nie mam już gwarancji, ale mogę uszkodzić płytę główną, przez co telefon nigdy więcej się nie uruchomi. Mimo wszystko, w myśl zasady, że bez ryzyka nie ma zabawy, przy użyciu specjalnego śrubokrętu i zwyczajnej pinezki rozkręciłem smarftona i dosłownie zdrapałem czujnik z telefonu. Od tamtej pory (czyli od dwóch dni) jestem szczęśliwy, że pierwszą czynnością po wejściu do domu nie jest podłączenie telefonu do ładowania. Mogę znowu testować ROMy i swobodnie korzystać z urządzenia bez obaw, że pół godziny gry całkowicie rozładuje pełną baterię. Wady? Podczas rozmowy telefonicznej ekran pozostaje włączony. Było warto? Tak, chociaż mogło się nie udać, wtedy używałbym telefonu awaryjnego, czyli Siemensa A57, który na baterii trzyma aż 4 dni.

Nintendo atakuje smartfony

Wcześniejszy wpis

Zachęta dla developerów – 5 gier na Google Glass

Następny wpis

Powinny Ci się spodobać

Więcej w Felietony