Zbyt wiele częściowych blokad uśpienia (beta)

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:

Przesyłanie opinii

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 tlenie 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ż