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 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 Watch Face Format, il sistema esegue le seguenti operazioni:
- Decomprimi l'immagine o il carattere.
- Controlla se si applicano le seguenti ottimizzazioni:
- Ridimensionamento per adattarsi meglio allo schermo
- Ritaglio dei pixel trasparenti
- Sottocampionamento a RGB565, senza perdita di fedeltà
In base al riquadro di selezione 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 immagini e 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 tutti i caratteri vettoriali
- L'utilizzo stimato del carattere predefinito del 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 nelle 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, due dei quali sono statici. I livelli includono:
- Lo sfondo del quadrante. Il sistema lo considera come un'unica immagine, indipendentemente da quante immagini comprende lo sfondo.
- Parti mobili 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 di visualizzazione.
Wear OS disegna i quadranti con tutte le immagini decompresse. Un'immagine a schermo intero quasi vuota potrebbe occupare 3 KB su disco, ma 750 KB o più su uno schermo di 450 pixel x 450 pixel.
Utilizzare altezze dei caratteri bitmap coerenti
Quando utilizzi un BitmapFont, assicurati che tutte le immagini di un personaggio abbiano la stessa altezza. Allo stesso modo, assicurati che tutte le immagini delle parole abbiano la stessa altezza.
Utilizzare dimensioni dei fotogrammi coerenti nelle animazioni
Anziché spostare un'immagine su un quadrante, aggiorna gli elementi dell'immagine e mantieni fissa la posizione del riquadro di selezione. Ad esempio, per animare un cerchio sul quadrante orologio, cambiane il colore anziché farlo rotolare.
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 gli 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 lunghezza, come
mostrato qui:
<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>
Per visualizzare una linea non continua, ad esempio per ottenere un aspetto in stile orologio digitale retrò, utilizza una proprietà trattino per un oggetto Stroke o una sovrapposizione di immagini maschera semitrasparente.
Posiziona le lancette e le complicazioni dell'orologio alla fine del file di origine
I nodi XML vengono disegnati nell'ordine in cui sono elencati nell'XML di origine. Se posizioni le lancette e le complicazioni alla fine, consenti al sistema di eliminare un intero livello dal calcolo della memoria della modalità Ambient.
Valutare l'utilizzo della memoria del quadrante
Per misurare l'utilizzo della memoria del quadrante, utilizza lo strumento di valutazione
dell'impronta di memoria, disponibile nel repository watchface su GitHub.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Arco
- Linea
- Rettangolo