Zoptymalizuj zużycie energii przez aplikację

Ten dokument opisuje sprawdzone metody optymalizacji zasilania w aplikacji do nawigacji mobilnej, którą tworzysz za pomocą Pakiet SDK do nawigacji. Jednocześnie opisuje kompromisy które warto rozważyć przy stosowaniu tych metod. W szczególności w tym dokumencie omawiamy :

  • Źródła zużycia energii w kolejności od najwyższego do najniższego.
  • Strategie optymalizacji zużycia energii (według znaczenia): zaczynając od liczby klatek.
  • Strategie dla użytkowników wyjaśniające użytkownikom, jak zarządzać wykorzystanie urządzenia podczas nawigacji.

Po co optymalizować aplikację do nawigacji?

W zależności od sytuacji użytkownicy aplikacji mogą włączyć wskazówki nawigacyjne przez długi czas. Na przykład kurierzy kierowcy i dostawcy mogą i wykonuje zadania w nieznanym regionie. W takich przypadkach polegają one dużo korzystać z nawigacji zakręt po zakręcie w aplikacji. Powoduje to pewne typowe problemy:

  • Wykorzystanie baterii i dostępność ładowarek Częste korzystanie z nawigacji powodują, że baterie urządzenia rozładowują się szybciej niż powinny. Wielu użytkowników może aby rozwiązać ten problem, ładując urządzenie w pojeździe, nie może.
  • Ograniczenie na urządzeniu z powodu przegrzania. Nawet użytkownicy, którzy stale obciążają mogą powodować problemy. Wysokie zużycie energii przez dłuższy czas może spowodować nagrzanie się urządzenia, co z kolei może zmniejszyć temperaturę kolejną utratę skuteczności.

Aplikacje do nawigacji zakręt po zakręcie korzystają z funkcji pochłaniających dużo energii, takich jak ekran, GPS komunikacją radiową z stacjami bazowymi, dlatego sprawdzoną metodą optymalizacji zużycie energii przez aplikację mobilną. Warto też wziąć pod uwagę moc obliczeniową, potrzeb użytkowników docelowych i dobrać odpowiednie kompromisów między wydajnością a optymalizacją zużycia energii.

Co zużywa najwięcej energii?

Ta sekcja zawiera podział aktywności w aplikacji związanych z dużym zużyciem energii można podzielić na 2 kategorie:

  • Renderowanie ekranu
  • Aktualizacje lokalizacji

Renderowanie ekranu

Renderowanie ekranu zazwyczaj powoduje największe zużycie energii na urządzeniach mobilnych aplikacje do nawigacji. Za każdym razem, gdy urządzenie rysuje mapę i inne elementy interfejsu korzysta z procesora graficznego i procesora. I analogicznie, gdy użytkownik opuści ekran włączony przez dłuższy czas, ale zużywa też więcej energii.

W pewnym stopniu należy spodziewać się wysokiego zużycia energii przez kierowców i pasażerów, korzystają z widocznej mapy, zwłaszcza gdy użytkownicy korzystają z aplikacji przez cały czas przez wiele godzin. W takim przypadku aplikacja uzyskuje też wyższy współczynnik renderowania. widoczne na ekranie, ponieważ mapa jest aktualizowana w czasie rzeczywistym. W niektórych przypadkach ekran może być odświeżany niemal cały czas, zwłaszcza gdy użytkownik jedzie z lokalizacji bez przerw.

Aktualizacje lokalizacji

Oprócz renderowania ekranu dwie inne czynności związane z nawigacją wykorzystują urządzenie moc:

  • Stacja bazowa i nawigacja GPS
  • aktualizowanie i udostępnianie lokalizacji, np. w celu podawania szacowanego czasu dotarcia na miejsce lub zgłoszenia pozycji pojazdu we flocie.

GPS i komunikacja radiowa w sieci komórkowej wymagają uruchamiania zużywających dużo energii: GPS musi znajdować satelity i nadajniki sieci komórkowej muszą negocjować z wieżami nawiązać relację. Z tego powodu kampanie te działają w sposób ciągły podczas nawigacji, nawet jeśli radio komórkowe pozostaje aktywne przez 20–30 sekund starać się zminimalizować koszty początkowe. Tymi ustawieniami zarządza system operacyjny których nie da się łatwo skonfigurować w aplikacji.

W przypadku aktualizacji lokalizacji zużycie energii zależy od nieprzewidywalnych czynników. Dla: np. odległość między urządzeniem a komórkową stacją dokującą, określa zużycie energii, ponieważ urządzenie będzie korzystać z minimalnego wymaganego sygnału aby kontynuować nawigację i uniknąć zmiany stacji. Dlatego urządzenie że nawigacja na obszarze o słabym zasięgu zużywa więcej energii niż jest w pobliżu stacji dokującej. Poza tym niektóre aplikacje mogą udostępniać aktualizacje lokalizacji korzysta z centralnej usługi zarządzania flotą, dlatego będzie musiała komunikować się z serwerem, aby to osiągnąć.

Optymalizuj zużycie energii przez aplikację

Wyzwanie w optymalizowaniu zużycia energii w aplikacjach do nawigacji polega na tym, w zasobach zużywających dużo energii, co ogranicza możliwości bez kompromisów, takich jak ograniczanie możliwości korzystania z ekranu. Ten zawiera listę metod optymalizacji aplikacji, od najkorzystniejszych do najmniejszych.

Zmiana liczby klatek

Zawartość ekranu aktualizuje się z częstotliwością nazywaną liczbą klatek. Liczba klatek jest zwykle mierzona w klatkach na sekundę (FPS). Renderowanie ekranu zużywa dużo CPU lub GPU, więc możesz zmniejszyć liczbę klatek i zaoszczędzić energię konsumpcją treści.

Wada z zmniejszeniem liczby klatek polega na tym, że renderowanie ekranu będzie mniej zwłaszcza wtedy, gdy mapa jest często aktualizowana. To chyba najbardziej oczywiste. gdy mapa jest powiększona i pokazuje szczegóły, a użytkownik podróżuje albo gdy znacznie zmieniasz prędkość lub kierunek.

Przeczytaj sekcję Liczba klatek w witrynie dewelopera Android Media Dev Center. dokumentacji, aby dowiedzieć się więcej o modyfikowaniu liczby klatek.

Chociaż nie masz wpływu na to, jak użytkownik może ustawiać jasność ekranu urządzenia ani jak długo mają włączony ekran, możesz udostępnić opcję nawigacji wskazówki dojazdu bez mapy. Dzięki temu użytkownik będzie mógł wybrać tę opcję aby oszczędzać energię. Na przykład, jeśli kierowcy regularnie pracują w tym samym miejscu są w okolicy, mogą jednak rzadziej potrzebować pomocy z użyciem map. Nawigacja bez mapy mogą być włączone przez ustawianie miejsca docelowego i wprowadzenie wskazówek w pakiecie SDK Navigation, ale bez mapy.

Aby ukryć interfejs nawigacji, nie dodawaj obiektu NavigationView ani SupportNavigationFragment, a jeśli już zostało to zrobione, usuń kod, który je dodaje. Ten kod został zmodyfikowany z Aplikacja demonstracyjna na Androida pakietu Navigation SDK, która pokazuje wykorzystanie komentarzy, aby usunąć kod dodający interfejs użytkownika do nawigacji:

//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment)   getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);

Pakiet Navigation SDK będzie nadal aktualizować lokalizacje przyciągnięte do dróg, szacowany czas dotarcia na miejsce i pozostałą odległość, a aplikacja może subskrybować wszystkie zdarzenia tworzone przez pakiet SDK w miarę przesuwania się kierowcy. Nie sprawdza się w każdym przypadku użycia nie jest zalecaną radą w przypadku, gdy kierowca musi zobaczyć mapę i podążać wskazówek wizualnych. Zrzuty ekranu przedstawiają porównanie obok siebie przełączania widoków mapy podczas aktywnej nawigacji.

Aplikacja w wersji demonstracyjnej działa z widocznym widokiem mapy.
Rysunek 1.Wersja demonstracyjna pakietu SDK na iOS z prezentacją Data Back (wersja demonstracyjna)
Aplikacja demonstracyjna działa bez widocznego widoku mapy.
Rys.2. Aplikacja demonstracyjna działa bez widocznego widoku mapy Pamiętaj, że pozostały czas i odległość, a także przypomniona lokalizacja, są nadal aktualizowane.

Używaj ciemnego stylu mapy

Rozważ zmianę stylu mapy, aby użyć ciemnego motywu, aby zmniejszyć ilość energii potrzebne do wyrenderowania mapy na ekranie.

Pakiet Navigation SDK renderuje swoje mapy za pomocą pakiet SDK Map Google na Androida, które zawierają opcje dla Nadawanie stylu dowolnemu widokowi mapy niezwiązanej z nawigacją w aplikacji. Również widok nawigacji obsługuje wymuszanie trybu ciemnego. Może to nie dotyczyć wszystkich urządzeń w taki sam sposób. do różnic w typie ekranu, ale pozwala na potencjalne oszczędności w niektórych przypadkach. Niedawne badanie wykazało, że ilość mocy obliczeniowej zapisane przez tryb ciemny w przypadku niektórych ekranów zależy od tego, jak jasny jest początkowy ekran z naszymi usługami. Na przykład tryb ciemny oszczędza więcej energii na ekranach ustawionych na pełną jasność. niż na ekranach, których jasność jest już ustawiona na 30-50% maksimum. Ważne, aby wziąć to pod uwagę, korzystając z trybu ciemnego w aplikacjach, ponieważ oszczędność energii będzie zależeć od sposobu ustawienia ekranu przez użytkownika jasność.

Więcej informacji o modyfikowaniu interfejsu nawigacji znajdziesz w Modyfikowanie interfejsu nawigacji.

Zrzut ekranu pokazujący pakiet Navigation SDK działający na iPhonie 15 Pro w trybie ciemnej mapy.
Rys. 3.Pakiet SDK nawigacji skonfigurowany ze stylem ciemnej mapy

Aby utworzyć ciemny styl mapy, użyj MapStyleOptions. obiekt w stylu JSON, który reprezentuje wybrany przez Ciebie ciemny kolor. stylu mapy. Starsze style JSON można tworzyć za pomocą starszego edytora stylów na stronie https://mapstyle.withgoogle.com/.

Zmienianie częstotliwości aktualizacji lokalizacji GPS

Patrząc na zużycie energii z aktualizacji lokalizacji wysyłanych z urządzenia, skup się na częstotliwości aktualizacji lokalizacji, a nie na ilości danych wysyłanych transmisji danych.

Nie można tego kontrolować bezpośrednio w Pakiet SDK do nawigacji , ale jeśli Twoja aplikacja na Androida prosi o lokalizację niezależnie, przeczytaj wskazówki z artykułu Optymalizuj lokalizację pod kątem baterii na Dokumentacja dla deweloperów aplikacji na Androida. Ta sama porada dotyczy korzystania ze źródeł lokalizacji innych niż GPS (komórkowych i Wi-Fi).

Edukacja użytkowników

Użytkownicy Twojej aplikacji mogą chcieć się dowiedzieć, jak zoptymalizować wydajność aplikacji konsumpcją treści. Aby pomóc im zmniejszyć zużycie energii przez aplikacje, doradź im wykonać następujące czynności:

  • Zablokuj telefon
  • Umieść aplikację do nawigacji w tle
  • W miarę możliwości korzystaj z nawigacji bez mapy
  • Zmniejsz jasność ekranu, używając trybu ciemnego na wyświetlaczu OLED i AMOLED lub włącz automatyczną jasność
  • Nie przegrzewaj urządzenia
  • Połącz się z siecią Wi-Fi w samochodzie, jeśli jest dostępna
Zobacz, Wydłużanie czasu pracy urządzenia z Androidem na baterii: z poradami użytkowników dotyczącymi wydłużania czasu pracy na baterii w Androidzie. Pamiętaj, że ta porada obejmuje działania, które mogą pogorszyć skuteczność aplikacji do nawigacji, ponieważ omawiane w artykule Optymalizowanie wykorzystania energii przez aplikację w tym przewodniku.

Mierz zużycie energii

Do pomiaru zużycia energii możesz używać profesjonalnych narzędzi, ale ich uzyskanie często jest trudne lub kosztowne. Aplikacje i narzędzia do profilowania IDE, takie jak Power Program profilujący w Android Studio i panel Wykorzystanie baterii w XCode Organizator mierzy zużycie energii, ale może to być trudne aby usunąć efekt procesów w tle lub ustawić podstawę wydajności na i mierzyć skuteczność. W niektórych przypadkach ograniczenia urządzenia mogą uniemożliwiać uzyskiwanie do niezbędnych danych.

Można użyć specjalnego sprzętu do monitorowania zasilania i zmodyfikować konfiguracji połączenia akumulatora i komercyjnych produktów i usług które mają pomóc w tym celu. Pamiętaj, że taka modyfikacja urządzeń może spowodować unieważnienie gwarancji urządzenia.