Wear OS wydłuża czas pracy baterii, śledząc wykorzystanie pamięci. Tarcze zegarka korzystające z Formatu tarczy zegarka mają limity pamięci określone we wskazówkach dotyczących jakości aplikacji na Wear OS:
- Oświetlenie kinowe: maksymalne użycie pamięci to 10 MB.
- Tryb interaktywny: maksymalne użycie pamięci to 100 MB.
Obliczanie wykorzystania pamięci
Aby obliczyć zużycie pamięci przez obraz lub czcionkę bitmapową na tarczy zegarka w formacie tarczy zegarka, system wykonuje te czynności:
- Rozpakuj obraz lub czcionkę.
- Sprawdź, czy mają zastosowanie te optymalizacje:
- Zmiana rozmiaru, aby lepiej dopasować obraz do ekranu
- Przycinanie przezroczystych pikseli
- próbkowanie w dół do formatu RGB565 bez utraty wierności kolorów,
Na podstawie powstałej ramki ograniczającej rozmiar jest obliczany w ten sposób:
- W przypadku obrazów i czcionek korzystających z formatu RGBA8888: 4 x szerokość x wysokość
- W przypadku obrazów i czcionek korzystających z RGB565: 2 x szerokość x wysokość
- W przypadku obrazów i czcionek korzystających z konfiguracji mapy bitowej ALPHA_8: szerokość × wysokość
Tryb interaktywny
Aby obliczyć wykorzystanie pamięci w trybie interaktywnym, system sumuje te wartości:
- nieprzetworzony rozmiar czcionek wektorowych,
- Szacunkowe wykorzystanie domyślnej czcionki systemu
- Łączny rozmiar obrazów i czcionek bitmapowych po przycięciu, zmianie rozmiaru i przekształceniu.
Konfiguracje
W przypadku tarcz zegarka z konfiguracjami system próbuje obliczyć łączny rozmiar zasobów tarczy zegarka w różnych konfiguracjach. Jeśli liczba kombinacji jest bardzo duża, system może przeszacować liczbę zasobów używanych jednocześnie.
Tryb nieaktywny i warstwy
System zakłada, że tryb otoczenia wykorzystuje maksymalnie 3 warstwy pełnoekranowe, z których 2 są statyczne. Warstwy obejmują:
- tło tarczy zegarka, System traktuje to jako jeden obraz, niezależnie od tego, z ilu obrazów składa się tło.
- ruchome części, takie jak wskazówki, wyświetlacze cyfrowe czy elementy dynamiczne;
- Pozostałe elementy z źródłowego pliku XML.
Duże czcionki bitmapowe często zużywają najwięcej pamięci w trybie otoczenia.
Metody zmniejszania zużycia pamięci
Aby zmniejszyć wykorzystanie pamięci, zastosuj te optymalizacje.
Przycinanie i zmienianie rozmiaru czcionek bitmapowych
Przytnij obrazy i BitmapFont obiekty, aby dopasować je do rozmiaru wyświetlacza.
Wear OS renderuje tarcze zegarka ze wszystkimi zdekompresowanymi obrazami. Prawie pusty obraz na pełnym ekranie może zajmować 3 KB na dysku, ale 750 KB lub więcej na ekranie o rozdzielczości 450 x 450 pikseli.
Używanie spójnych wysokości czcionek bitmapowych
Jeśli używasz BitmapFont, upewnij się, że wszystkie obrazy znaku mają tę samą wysokość. Podobnie wszystkie obrazy słów powinny mieć tę samą wysokość.
Używanie spójnych rozmiarów klatek w animacjach
Zamiast przesuwać obraz po tarczy zegarka, zaktualizuj elementy obrazu i zachowaj stałą pozycję ramki ograniczającej. Na przykład, aby animować okrąg na tarczy zegarka, zmień jego kolor zamiast go przesuwać.
Ta technika zmniejsza rozmiar obliczonej ramki ograniczającej animacji.
Usuwanie duplikatów obrazów
Aby wyświetlić obraz wiele razy, uwzględnij tylko 1 zasób obrazu i odwołuj się do niego wielokrotnie.
Wyświetlanie postępu za pomocą łuków
Aby zasymulować pasek postępu, który kończy się po 1 minucie lub 1 godzinie, nie używaj 60 obrazów. Użyj obiektu Arc z wyrażeniem kontrolującym jego długość, jak pokazano tutaj:
<PartDraw angle="0" width="400" height="400" name="ProgressBar" pivotX="0.5" pivotY="0.5" x="25" y="25"> <Arc centerX="200" centerY="200" width="400" height="400" startAngle="0" endAngle="360"> <!-- Completes a "progress loop" every minute. --> <Transform target="endAngle" value="0 + (clamp([SECOND], 0, 60) - 0) * 6" /> <Stroke cap="ROUND" color="#654456" thickness="10" /> </Arc> </PartDraw>
Aby wyświetlić linię nieciągłą, np. aby uzyskać wygląd retro zegarka cyfrowego, użyj właściwości kreski dla obiektu Stroke lub półprzezroczystej nakładki obrazu maski.
Umieść wskazówki zegarka i widżety na końcu pliku źródłowego
Węzły XML są rysowane w kolejności podanej w źródłowym pliku XML. Umieszczenie wskazówek i komplikacji na końcu umożliwia systemowi wyeliminowanie całej warstwy z obliczeń pamięci trybu otoczenia.
Sprawdzanie wykorzystania pamięci przez tarczę zegarka
Aby zmierzyć wykorzystanie pamięci przez tarczę zegarka, użyj narzędzia do oceny zajętości pamięci, które jest dostępne w repozytorium watchface na GitHubie.