Gdy aplikacja przeprowadza skanowanie Wi-Fi w tle, wybudza procesor, co powoduje szybkie zużycie baterii. Zbyt duża liczba skanowań może znacznie skrócić czas pracy na baterii urządzenia. Uznaje się, że aplikacja działa w tle, jeśli ma stan PROCESS_STATE_BACKGROUND
lub PROCESS_STATE_CACHED
.
Ten dokument wyjaśnia, jak wykryć, czy aplikacja wykonuje zbyt wiele skanowań Wi-Fi w tle, a także jak zdiagnozować i rozwiązać problem.
Wykryj problem
Nie zawsze wiesz, że aplikacja przeprowadza zbyt wiele skanowań Wi-Fi. Jeśli aplikacja została już opublikowana, Android Vitals może Cię powiadomić o problemie, aby można było go naprawić.
Android Vitals
Android Vitals może poprawić wydajność aplikacji, powiadamiając Cię w Konsoli Play o zbyt częstym skanowaniu Wi-Fi w tle przez aplikację. Android Vitals wykrywa zbyt częste skanowanie Wi-Fi, gdy aplikacja wykonuje więcej niż 4 skanowania na godzinę. W Konsoli Play możesz sprawdzić odsetek sesji baterii, które wykazują takie działanie.
Definicja sesji baterii zależy od wersji platformy.
- W Androidzie 10 sesja baterii to zbiór wszystkich raportów o stanie baterii, które zostały odebrane w ciągu danego 24-godzinnego okresu. Raport o stanie baterii odnosi się do okresu między dwoma ładowaniami baterii od poziomu naładowania poniżej 20% do powyżej 80% lub od dowolnego poziomu naładowania do 100%.
- W Androidzie 11 sesja baterii ma stałą długość 24 godzin.
Informacje o tym, jak Google Play gromadzi dane Android Vitals, znajdziesz w dokumentacji Konsoli Play.
Zbadaj skanowania Wi-Fi
Narzędzia takie jak Bateria Historyn pozwalają uzyskać więcej informacji o działaniu aplikacji podczas skanowania. Usługa Battery Historyn udostępnia wizualizację procesu skanowania sieci Wi-Fi z uwzględnieniem poszczególnych aplikacji, dzięki czemu możesz uzyskać bardziej przejrzysty obraz tego, co dzieje się z Twoją aplikacją. Więcej informacji na temat funkcji Battery Historyn znajdziesz w artykule na temat analizowania zużycia energii przy użyciu historii baterii.
Informacje o mechanice korzystania z usługi Historyk baterii znajdziesz w artykule Statystyki baterii i przewodnik historyczny baterii.
Ogranicz skanowanie
Jeśli to możliwe, aplikacja powinna przeprowadzać skanowanie Wi-Fi, gdy działa na pierwszym planie. Usługi działające na pierwszym planie automatycznie przedstawiają powiadomienia; przeprowadzają skanowanie Wi-Fi na pierwszym planie, dzięki czemu użytkownik wie, dlaczego i kiedy na jego urządzeniu jest wykonywane skanowanie Wi-Fi.
Więcej informacji o skanowaniu na pierwszym planie znajdziesz w dokumentacji klasy WifiManager
.
Jeśli Twoja aplikacja nie może uniknąć skanowania Wi-Fi, gdy działa w tle, warto zastosować strategię Lazy First. Lazy First obejmuje 3 techniki, których możesz użyć do ograniczenia skanowania Wi-Fi: reduce, opóźnianie i koalesce. Więcej informacji o tych metodach znajdziesz w artykule Optymalizacja pod kątem żywotności baterii.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony
- Nadmierne użycie sieci komórkowej w tle