Colorear el dial para Pebble Time: la batalla por los recursos



Así que ese hermoso día llegó cuando decidí que debería pintar mi esfera para Pebble Time. Bueno querida beliakovdescribe con suficiente detalle cómo hacer esto, y hay suficiente información oficial. Pero incluso aquí no fue sin una pandereta ...

Colorear los gráficos no tomó mucho tiempo, y agregarlo al proyecto en CloudPebble resultó ser aún más fácil de lo que esperaba: también puede descargar la versión en color directamente en la página del recurso gráfico. Ambas versiones de la imagen tienen una ID y el compilador elige cuál usar cuando.



Desafortunadamente, al compilar, me quedé sin recursos de memoria. En este caso, el dial "falla" en el reloj, pero funciona bien en el emulador, solo no se muestran los gráficos para los que no había suficiente memoria. A continuación se realizaron mediciones y experimentos que me llevaron más de dos días. En pocas palabras, cargué diferentes recursos (imágenes y fuentes) y la memoria de bandeja que ocupaban. A continuación daré las conclusiones hechas por mí sobre la base de estas pruebas, y algunas a nivel de conjeturas.

  • png -
  • , «» (, tinypng.com),
  • ,
  • 14 , ,




Con las fuentes, todo resultó ser aún más interesante. Aparentemente, al compilar la fuente se traduce en una especie de gráficos de mapa de bits. A favor de esto, en primer lugar, dice que al agregar una fuente personalizada al proyecto, debe especificar inmediatamente el tamaño de los caracteres y estará disponible en esa forma. Si necesita usar una fuente dos veces en diferentes tamaños, tendrá que agregarla al proyecto dos veces y, en consecuencia, consumirá la memoria para dos. En general, las fuentes usan mucha memoria. Por ejemplo, una fuente Bernard MT Condensed (solo números) con un tamaño de caracteres de 38 píxeles. ocupa 1.8 KB y tiene un tamaño de 42 píxeles. - Ya 2 Kbytes. Es de destacar que una imagen en png con los mismos números (tamaño 38) "pesa" solo 450 bytes. Por otro lado, la fuente del icono se justificó y la dejé.

Lo que sigue de todo esto:
  • optimiza tus gráficos tanto como sea posible. Por ejemplo, elimine los elementos idénticos de los sprites y colóquelos en un archivo separado.
  • trabajar con fuentes es conveniente (puede cambiar el tamaño simplemente cambiando la ID), pero en términos de uso de memoria, están lejos de estar siempre justificadas.


Estos son los rotuladores ...

Marcar referencia:


All Articles