Blokady częściowego budzenia to mechanizm w interfejsie PowerManager
API, który pozwala deweloperom utrzymać procesor w stanie działania po wyłączeniu ekranu urządzenia (czy to z powodu limitu czasu systemu czy naciśnięcia przez użytkownika przycisku zasilania). Aplikacja uzyskuje częściową blokadę aktywacji, wywołując interfejs acquire()
z flagą PARTIAL_WAKE_LOCK
lub używając innych interfejsów API, które uzyskują blokadę aktywacji.
Nadmierne używanie blokad częściowego budzenia powoduje zużywanie się baterii, ponieważ uniemożliwia urządzeniu przejście w stany niskiego poboru mocy. Blokady częściowego budzenia należy używać tylko wtedy, gdy jest to konieczne, i odblokowywać je, gdy nie są już potrzebne.
Jeśli Twoja aplikacja nadmiernie korzysta z częściowych blokad aktywacji, możesz skorzystać z instrukcji na tej stronie, aby zdiagnozować i rozwiązać problem.
Twoja opinia jest kluczowa dla ulepszania naszej dokumentacji. Prześlij swoją opinię, korzystając z tego linku:
Wykrywanie problemu
Android Vitals może pomóc Ci ustalić, czy Twoja aplikacja nie używa nadmiernie częściowych blokad uśpienia.
Android Vitals
Dane Android Vitals mogą pomóc w poprawie działania aplikacji, wysyłając alerty do Konsoli Play, gdy aplikacja nadmiernie używa blokad częściowego budzenia.
Android Vitals zgłasza nadmierne korzystanie z częściowej blokady uśpienia, gdy łączny czas działania wszystkich częściowych blokad uśpienia w ciągu 24 godzin wynosi co najmniej 3 godziny.
Android Vitals śledzi czas tylko wtedy, gdy aplikacja działa w tle i nie ma usługi działającej na pierwszym planie.
Android Vitals daje pewne wyjątki dotyczące użycia częściowego blokowania wybudzania w sytuacjach, w których wyraźnie widać korzyści dla użytkownika wynikające z użycia tej funkcji, a nie ma lepszego sposobu na osiągnięcie tego rezultatu bez użycia częściowego blokowania wybudzania. W takich przypadkach dane dotyczące działania Androida mogą nie uwzględniać czasu częściowego blokowania ekranu w liczeniu limitu 3 godzin. Jeśli na przykład aplikacja odtwarza dźwięk dla użytkownika, wyraźną korzyścią jest utrzymywanie urządzenia w stanie czuwania. Nie ma możliwości odtwarzania dźwięku bez utrzymywania urządzenia w stanie czuwania. W takim przypadku czas częściowej blokady uśpienia nie jest uwzględniany w Android Vitals.
Jeśli w ciągu 28 dni w przypadku więcej niż 5% sesji aplikacji na wszystkich urządzeniach występują nadmierne blokady częściowego wybudzenia, może to wpłynąć na widoczność aplikacji w Google Play, gdy dana metryka wyjdzie z wersji beta.
Gdy stwierdzisz, że Twoja aplikacja ma nadmierną liczbę blokad częściowego budzenia, musisz rozwiązać ten problem.
Rozwiąż problem
Blokady aktywacji mogą wyczerpywać baterię urządzenia, dlatego nie należy ich używać, jeśli istnieje inna możliwość. Dokumentacja Wybór odpowiedniego interfejsu API do utrzymywania urządzenia w stanie czuwania może pomóc Ci znaleźć najlepsze rozwiązanie dla Twojej aplikacji.
Jeśli musisz użyć blokady aktywacji, zachowaj te sprawdzone metody, aby mieć pewność, że blokada nie wpłynie negatywnie na wydajność urządzenia. W szczególności sprawdź, czy każde urządzenie, które kupisz, jest odblokowane, i jak najszybciej odblokuj je.
Po rozwiązaniu problemu w kodzie możesz sprawdzić wprowadzone zmiany za pomocą lokalnych narzędzi do debugowania blokady aktywacji.
Zobacz również
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- Zablokowane klatki
- Uruchamianie testów porównawczych w ramach ciągłej integracji
- Tworzenie i mierzenie profili referencyjnych bez Macrobenchmark