Zbyt częste skanowanie Wi-Fi w tle

Gdy aplikacja wykonuje skanowania Wi-Fi w tle, wybudza procesor, co powoduje szybsze zużycie baterii. Gdy skanów jest zbyt dużo, bateria urządzenia może się znacznie szybciej rozładowywać. Aplikacja jest uznawana za działającą w tle, jeśli jest w stanie PROCESS_STATE_BACKGROUND lub PROCESS_STATE_CACHED.

W tym dokumencie znajdziesz wskazówki dotyczące diagnozowania i rozwiązywania problemu z nadmierną liczbą skanowań Wi-Fi w tle.

Sprawdź skanowania Wi-Fi

Narzędzia takie jak Battery Historian mogą pomóc Ci lepiej poznać sposób skanowania aplikacji. Battery Historian wizualizuje zachowanie skanowania Wi-Fi w przypadku poszczególnych aplikacji, co może pomóc Ci lepiej zrozumieć, co się dzieje z Twoją aplikacją. Więcej informacji o Battery Historian znajdziesz w artykule Analizowanie zużycia energii za pomocą Battery Historian.

Więcej informacji o mechanizmach działania narzędzia Battery Historian znajdziesz w artykule Batterystats and Battery Historian Walkthrough (w języku angielskim).

Zmniejsz liczbę skanów

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 wyświetlają powiadomienia. Skanowanie Wi-Fi na pierwszym planie informuje użytkownika o tym, dlaczego i kiedy na jego urządzeniu odbywa się skanowanie Wi-Fi.

Informacje 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, może skorzystać ze strategii Lazy First. Lazy First obejmuje 3 techniki, które możesz wykorzystać, aby ograniczyć skanowanie Wi-Fi: zmniejszanie, odraczaniełączenie. Więcej informacji o tych technikach znajdziesz w artykule Optymalizacja pod kątem żywotności baterii.