Oszczędzaj energię i baterię

W przypadku Wear OS oszczędność energii jest szczególnie ważna. Wygląd na Wear OS zasad koncentrują się na zużyciu energii przez urządzenie, ponieważ zegarek do krótkich interakcji.

Urządzenia z Wear OS mają mniejsze baterie w porównaniu z większymi urządzeniami mobilnymi, jest bardziej zauważalne. Ponadto wymaga to więcej wysiłku, do ładowania urządzenia z Wear OS, a nie urządzenia mobilnego. Podczas gdy użytkownicy mogą ładować korzystają z urządzeń mobilnych o różnych porach dnia, muszą odłączać urządzenia z Wear OS od obudowy przed naładowaniem.

Aby zwiększyć energooszczędność aplikacji, stosuj te sprawdzone metody:

  • Aplikacja powinna dobrze wykorzystywać format Wear OS. it nie kopiuj bezpośrednio aplikacji mobilnej.
  • Używać istniejącej aplikacji mobilnej w niektórych przypadkach użycia. Przykład: internet i synchronizacja na zegarku są kosztowne, zastanów się, czy urządzenie mobilne może wykonać ciężką pracę, a urządzenie z Wear OS otrzymuje zmian w danych.
  • Zaprojektuj przypadki użycia z myślą o krótszych interakcjach.
  • Zastanów się, których zdarzeń na Wear OS używasz i jak często są one używane wystąpienia.
  • W miarę możliwości odkładaj pracę aplikacji do momentu ładowania zegarka. Dotyczy to zwłaszcza zadań wymagających dużych ilości danych, takich jak synchronizacja danych, i organizowanie baz danych.

    Jeśli urządzenie się ładuje i jest połączone z siecią Wi-Fi, zaplanuj zadania na pobiera z wyprzedzeniem dane, obrazy i aktualizacje, które użytkownik prawdopodobnie chce zobaczyć w Twojej .

Z tego przewodnika dowiesz się, kiedy i w jaki sposób system uruchamia Twoją aplikację. Jak ograniczyć czas działania aplikacji i szybkie zużycie baterii? Aby dowiedzieć się, jak to zrobić, konkretne działania, takie jak wczytanie aplikacji lub przewinięcie lista – otwórz wskazówki związane z wydajnością, takie jak Tworzenie wiadomości w Wear OS Przewodnika po skuteczności reklam.

Monitorowanie wykorzystania baterii na przestrzeni czasu

Aby przeanalizować statystyki baterii na urządzeniu z Wear OS, na którym działa Twoja aplikacja, wpisz następujące polecenie w oknie terminala na komputerze, którego używasz do programowania:

adb shell dumpsys batterystats

W bibliotece na GitHubie znajduje się pars statystyk baterii, który przydatne do uruchomienia razem z tym poleceniem.

Zdarzenia wpływające na żywotność baterii

Zanim zastanowisz się nad swoją aplikacją, spójrz na kwestie bardziej ogólne o zdarzeniach zużywających energię urządzenia z Wear OS.

Tabela poniżej pokazuje względny wpływ na żywotność baterii w przypadku kilku typowe zdarzenia w aplikacjach na Wear OS. Dokładne zużycie energii zależy od urządzenia.

Wydarzenie Wpływ na żywotność baterii Jak zminimalizować ryzyko
Dostęp do sieci, w tym LTE i Wi-Fi Bardzo wysoka Odrocz mniej ważny dostęp do sieci do czasu ładowania urządzenia.
Włącz ekran i uruchom tryb interaktywny Wysoki Nie zachęcaj użytkownika, aby ekran był włączony dłużej niż niezbędną. Zadbaj o to, by użytkownicy korzystali z różnych funkcji zawsze włączone , nazywanym też oświetleniem kinowym.
Dostęp do czujnika GPS Wysoki Jeśli to możliwe, poczekaj, aż użytkownik poprosi o dostęp do GPS.
Utrzymuj wykorzystanie procesora na wysokim poziomie Wysoki konsumpcja za pomocą Jetpack Compose.
Dostęp do czujnika tętna Średni Używaj czasu aktywności procesora, gdy odbieranie wywołań zwrotnych z interfejsu Sens API, na przykład przy użyciu Włączona opieka zdrowotna Wear OS
Uzyskiwanie dostępu do innego urządzenia przez Bluetooth Średni Sesje powinny być krótkie.
Przytrzymaj blokadę uśpienia Średni Ogranicz ręczne tworzenie blokad wybudzenia i korzystanie z nich WorkManager

Skrócenie czasu włączenia ekranu

W aplikacji na Wear OS przestrzegaj tych zasad korzystania z ekranu:

  • Blokady ekranu: unikaj, jeśli to możliwe. Aby przetestować, wyłącz opcję Zawsze włączone w ustawieniach systemowych i sprawdź, czy ekran zgaśnie okresu braku aktywności.
  • Animacje: minimalizuj zaawansowane animacje i skoncentruj się na krótkich animacjach. i uzyskać bardziej profesjonalny wygląd. W szczególności unikaj stosowania długoterminowych rozwiązań zawierające animacje i pętle. Jeśli wymagana jest pętla, dodaj pauzę między pętlami. czyli tyle samo co sama animacja.
  • Czas wybudzenia w trybie nieaktywnym: obsługa zawsze włączona w razie potrzeby, np. w kontekście sprawności fizycznej. Jeśli Twoja aplikacja wymaga ciągłego włączenia, sprawdź, czy tak te czynności, gdy urządzenie jest w trybie nieaktywnym:

    • Zmniejsza podświetlenie ekranu urządzenia.
    • Animacje nie są wyświetlane.
    • Nie aktualizuje zawartości ekranu, z wyjątkiem onAmbientUpdate() oddzwonienie.

Minimalizuj wykorzystanie procesora

W aplikacji na Wear OS przestrzegaj tych zasad dotyczących wykorzystania procesora:

  • Używaj jak najkrócej.
  • Grupuj wszystkie powiązane operacje, aby zmaksymalizować czas przetwarzania danych przez aplikację Użytkownik nic nie robi.

Minimalizuj blokady uśpienia

W większości przypadków unikaj wykonywania operacji, które uniemożliwiają aplikacji uśpienie, takich jak: takie jak wybudzenia. Na przykład w sekcji Zdrowie i aplikacje fitness, długie treningi nie potrzebują blokady wybudzenia. Podczas odbierania wywołań zwrotnych używaj czasu aktywności procesora za pomocą interfejsu API czujnika, na przykład podczas korzystania z usług zdrowotnych na Wear OS.

W niektórych przypadkach można włączyć blokadę wybudzenia, na przykład wykonuje jedną z tych czynności:

  • Odtwarza multimedia w tle.
  • Używa WorkManager lub JobScheduler. (System zawiera wybudzanie w Twoim imieniu podczas uruchamiania zadania w tle).

Historia baterii umożliwia sprawdzanie poszczególnych przypadków długiego czasu blokad wybudzenia oraz podsumowania ich łącznej liczby i czasu trwania; w śledztwie. Sprawdź liczbę i czas trwania blokad uśpienia wykorzystywanych przez aplikację i porównuje te informacje z interaktywnymi wzorcami użycia aplikacja:

  • Sprawdź, czy nie wystąpiły nieoczekiwane blokady uśpienia.
  • Jeśli czas trwania jest dłuższy, zastanów się, czy jest blokowana w zależności od zależności, takiej jak dostępność sieci.

Sprawdź, w jaki sposób aplikacja staje się nieaktywna

Zastanów się, co robi aktywna aplikacja, gdy na urządzeniu występują kluczowe zdarzenia, takie jak :

  • Ekran gaśnie, a urządzenie przechodzi w tryb nieaktywny.
  • Aplikację można zamknąć przesunięciem palca.

Aby analizować aktywność w aplikacjach, użyj narzędzi opisanych w sekcjach poniżej.

Program profilujący energetyzujący

Narzędzie Energy Profiler jest dostępne w menu Android Studio. Aby to zrobić, wybierz Widok > Okna narzędziowe > Program profilujący:

  1. Sprawdź log systemu po wyłączeniu ekranu i wejściu urządzenia do systemu w trybie nieaktywnym.
  2. Sprawdź, czy nie przestają wykonywać pracy, oraz sprawdź poziom wykorzystania procesora przez urządzenie.

Perfetto

Perfetto umożliwia zarejestrowanie logu czasu, a następnie sprawdzenie aplikacji Czy wątki nie działają po wyłączeniu ekranu, przejdzie w tryb nieaktywny lub użytkownik zamknął aktywność w aplikacji.

Definiuj zdarzenia niestandardowe, aby oznaczać istotne zdarzenia w aplikacji, takie jak: zdarzeń związanych z konkretną domeną. W przypadku aplikacji do multimediów dotyczy to np. pobierania playlist, pobierania konkretnego elementu multimedialnego, rozpoczynania odtwarzania i zatrzymywania odtwarzania. Gdy zdefiniujesz te zdarzenia, możesz je wyświetlić w Perfetto i porównać z wykorzystaniem procesora i energii przez aplikację.

Analizowanie zaplanowanych zadań aplikacji

Zaplanowane zadania przy użyciu WorkManagera umożliwiają wykonywanie pracy w tle . Chociaż niektóre zadania w tle muszą być okresowe, nie uruchamiaj ich za bardzo przez dłuższy czas lub często, ponieważ może to wyczerpać baterię.

Użyj usługi Battery Historyn, aby sprawdzić wykonywanie zaplanowanych zadań ogólne (Statystyki systemu > Statystyki Jobscheduler) i według aplikacji (Statystyki aplikacji > Zaplanowane zadanie). Sprawdź łączną liczbę i cały czas trwania:

  • Jeśli zadanie jest uruchamiane bardzo często, rozważ zmniejszenie tej częstotliwości.
  • Sprawdź, czy łączny czas wykonywania jest zgodny z oczekiwanym i czy nie jest znacznie dłużej.

Sprawdź też wykres Battery Historyn, sprawdzając każdy wiersz JobScheduler. wpisu. Gdy najedziesz kursorem na konkretny wpis, pokazuje właściciela wykonywanego zadania. Weź pod uwagę następujące kwestie:

  • W przypadku Twojej aplikacji czas wykonywania powinien być sensowny.
  • Zastanów się, czy zadania są wykonywane, gdy aplikacja jest uruchomiona, reprezentują okresową pracę w tle.

Czujniki

Urządzenia z Wear OS mają wiele różnych czujników, np. GPS. W większości przypadków należy użyć funkcji usługi zdrowotne na Wear OS, zamiast wchodzić w bezpośrednią interakcję z SensorManager W wielu przypadkach usługi Health Services inteligentnie grupują dane, poprawić wydajność baterii.

Aby przeanalizować wykorzystanie czujnika w aplikacji, uruchom w terminalu to polecenie na komputerze, na którym programujesz:

adb shell dumpsys sensorservice

Wyniki tego polecenia zawierają następujące informacje:

  • Bieżące i wcześniejsze rejestracje czujników.
  • Konfiguracja czujnika, w tym grupowanie, jeśli jest ustawione.
  • Ostatnio próbkowane dane.

Przetestuj wyrejestrowanie z czujników

Aby sprawdzić, czy aplikacja przestaje pobierać dane z czujnika zgodnie z oczekiwaniami, przetestuj w następujących sytuacjach:

  1. Przesuń palcem, aby zamknąć aplikację.
  2. Dotknij ekranu dłonią. To może spowodować wyłączenie ekranu lub Ustawia ekran w trybie nieaktywnym.

Użyj polecenia ADB z poprzedniej sekcji, aby sprawdzić, czy czujnik jest wyświetlany jako niezarejestrowany.

Warstwa danych

Podczas korzystania z interfejsu Data Layer API każda transmisja zużywa pewną ilość energii. W Jeśli używasz tego interfejsu API do wysyłania danych, aplikacja musi się wybudzić, aby odebrać danych. Dlatego zachowaj ostrożność podczas korzystania z tego interfejsu API.

Kilka dodatkowych sprawdzonych metod korzystania z interfejsu API warstwy danych to: :

  • Zanim skonfigurujesz detektor za pomocą funkcji, poczekaj, aż aplikacja stanie się aktywna WearableListenerService
  • Przesyłaj zmiany stanu zamiast konfigurować szybkie aktualizacje. Ten stan zmian pozwalają urządzeniu z Wear OS obliczać dane lokalne, na przykład rozpoczęła się sesja treningowa.

    Przesyłaj wyłącznie zmiany stanu, które aktualizują interfejs użytkownika. Jeśli na przykład plik Na ekranie aktywności wyświetla się tylko „przebyte kilometry” do jednego miejsca po przecinku, nie należy wysyłać zmiana stanu na Wear OS za każdym razem, gdy użytkownik przesunie kolejny miernik. dalej.

Aby przeanalizować wykorzystanie interfejsu API warstwy danych w aplikacji, uruchom następujące polecenie w okno terminala na komputerze, na którym pracujesz:

adb shell dumpsys activity service WearableService

Wyniki tego polecenia zawierają następujące informacje:

  • RpcService:pozwala sprawdzić, jak często i które ścieżki są wykorzystywane. wywołano za pomocą funkcji MessageClient.
  • DataService: pozwala sprawdzić, jak często elementy danych są ustawiane za pomocą funkcji DataClient

Zdrowie i fitness

Jeśli masz aplikację o zdrowiu i aktywności fizycznej, skorzystaj z usług związanych ze zdrowiem, aby optymalizować korzysta z czujników.

  • ExerciseClient: użyj usługi Battery Historyn, aby sprawdzić prawidłowe działanie aplikacji w trybie nieaktywnym. Sprawdź, czy aplikacja nie wybudza się częściej niż co minutę lub dwie, aby otrzymać dane ExerciseUpdate.
  • Aby przez cały dzień monitorować ogólny stan zdrowia, używaj PassiveMonitoringClient, jako opisane w przewodniku monitorowania danych o zdrowiu i kondycji w Tło.

Kafelki i widżety

Jeśli aplikacja obsługuje kafelek lub widżet, postępuj zgodnie z tymi wskazówkami metody:

  • Wyłącz automatyczne odświeżanie albo zwiększ częstotliwość odświeżania do 2 godzin lub dłuższą.
  • używać Komunikacji w chmurze Firebase (FCM) lub odpowiedniego harmonogramu przesyłania zadań, aby wysyłać aktualizacje danych. Unikaj szybkiego aktualizowania, co może spowodować, że system zaplanuje powtórzone zadania z szybszym czasem niż użytkownik lub platforma ma dostęp do danych potrzebnych do wykonania tego działania.
  • Nie planuj pracy z kafelkiem ani widżetem, gdy użytkownik nie wchodzenia z nią w interakcję.
  • Stosuj podejścia przede wszystkim offline.
  • Korzystaj z jednej bazy danych w głównej aplikacji, kafelkach i widżetach. Ten pomaga zachować spójność danych również na różnych platformach.
. .