Wear OS migliora la durata della batteria monitorando l'utilizzo della memoria. I quadranti che utilizzano Watch Face Format hanno limiti di memoria, come indicato nelle norme sulla qualità delle app per Wear OS:
- Modalità Ambient: utilizzo massimo di memoria di 10 MB.
- Modalità interattiva: utilizzo massimo di memoria di 100 MB.
Calcolo dell'utilizzo della memoria
Per calcolare l'utilizzo della memoria per un'immagine o un carattere bitmap in un quadrante utilizzando il formato Watch Face, il sistema esegue le seguenti operazioni:
- Decomprimere l'immagine o il carattere.
- Verifica se si applicano le seguenti ottimizzazioni:
- Ridimensionamento per adattarsi meglio allo schermo
- Ritaglio di pixel trasparenti
- Riduzione del campionamento a RGB565, senza perdita di fedeltà
In base al riquadro delimitante risultante, le dimensioni vengono calcolate come segue:
- Per immagini e caratteri che utilizzano RGBA8888: 4 x larghezza x altezza
- Per immagini e caratteri che utilizzano RGB565: 2 x larghezza x altezza
- Per le immagini e i caratteri che utilizzano la configurazione bitmap ALPHA_8: larghezza x altezza
Modalità interattiva
Per calcolare l'utilizzo della memoria per la modalità interattiva, il sistema somma i seguenti valori:
- Le dimensioni non elaborate di eventuali caratteri vettoriali
- L'utilizzo stimato del carattere predefinito di sistema
- Le dimensioni totali delle immagini e dei caratteri bitmap dopo l'applicazione di ritaglio, ridimensionamento e riformattazione
Configurations (Configurazioni)
Per i quadranti con configurazioni, il sistema tenta di calcolare le dimensioni totali delle risorse del quadrante in diverse configurazioni. Se il numero di combinazioni è molto elevato, il sistema potrebbe sovrastimare il numero di risorse utilizzate contemporaneamente.
Modalità Ambient e livelli
Il sistema presuppone che la modalità Ambient utilizzi fino a tre livelli a schermo intero, di cui due statici. I livelli includono:
- Lo sfondo del quadrante. Il sistema lo tratta come un'unica immagine, indipendentemente dal numero di immagini che compongono lo sfondo.
- Parti in movimento come lancette, display digitali o elementi dinamici.
- Elementi rimanenti del file XML di origine.
I caratteri bitmap di grandi dimensioni spesso utilizzano la maggior parte della memoria in modalità Ambient.
Metodi per ridurre l'utilizzo della memoria
Utilizza le seguenti ottimizzazioni per ridurre l'utilizzo della memoria.
Ritagliare e ridimensionare i caratteri bitmap
Ritaglia le immagini e gli oggetti BitmapFont
in modo che corrispondano alle dimensioni del display.
Wear OS disegna i quadranti con tutte le immagini decompresse. Un'immagine a schermo intero prevalentemente vuota potrebbe occupare 3 KB su disco, ma 750 KB o più su uno schermo di 450 x 450 pixel.
Utilizza altezze dei caratteri bitmap coerenti
Quando utilizzi un BitmapFont
, assicurati che tutte le immagini di un carattere abbiano la stessa
altezza. Allo stesso modo, assicurati che tutte le immagini delle parole abbiano la stessa altezza.
Utilizza dimensioni dei fotogrammi coerenti nelle animazioni
Anziché spostare un'immagine su un quadrante, aggiorna gli elementi dell'immagine e mantieni fissa la posizione della casella delimitante. Ad esempio, per animare un cerchio sul quadrante, cambiane il colore anziché ruotarlo.
Questa tecnica riduce le dimensioni del riquadro di delimitazione calcolato dell'animazione.
Deduplicare le immagini
Per visualizzare un'immagine più volte, includi una sola risorsa immagine e fai riferimento a essa più volte.
Mostrare l'avanzamento utilizzando archi
Per simulare il completamento di una barra di avanzamento dopo 1 minuto o 1 ora, non utilizzare 60
immagini. Utilizza un oggetto Arc
con un'espressione che ne controlla la durata, come mostrato di seguito:
<PartDraw angle="0" width="400" height="400" name="ProgressBar" pivotX="0.5" pivotY="0.5 x="40" y="40"> <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="#123456" thickness="10" /> </Arc> </PartDraw>
Per visualizzare una linea non continua, ad esempio per ottenere un look stile orologio digitale retrò, utilizza una proprietà trattini per un oggetto Stroke
o un overlay di immagine maschera semitrasparente.
Posiziona le lancette e le complicazioni dello smartwatch alla fine del file di origine
I nodi XML vengono disegnati nell'ordine elencato nel file XML di origine. Posizionando le lancette e le complicazioni in fondo, consenti al sistema di eliminare un intero livello dal calcolo della memoria in modalità Ambient.
Valutare l'utilizzo della memoria del quadrante
Per misurare l'utilizzo della memoria del quadrante, utilizza lo strumento di valutazione dell'impronta in memoria, disponibile nel repository watchface
su GitHub.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Arco
- Linea
- Rettangolo