为Pebble Time的表盘着色:争夺资源



因此,美好的一天来到了,我决定为Pebble Time 涂上表盘好,亲爱的 别利亚科夫在描述足够的细节如何做到这一点,并且有足够的官方信息。但是即使在这里也并非没有手鼓...

为图形着色不需要花费很多时间,并且将其添加到CloudPebble上的项目中比我想象的要容易得多:您还可以直接在图形资源页面上下载颜色版本。图片的两个版本都有一个ID,编译器选择何时使用哪个ID。



不幸的是,在编译时,我的内存资源不足。在这种情况下,表盘在手表上“崩溃”,但在仿真器上工作正常,仅不显示内存不足的图形。接下来进行的测量和实验花费了我超过两天的时间。简而言之,我加载了不同的资源(图片和字体)以及它们占用的traysil内存。下面,我将根据这些检验给出我的结论,其中一些是在推测的水平上得出的。

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




使用字体,一切都变得更加有趣。显然,在编译时,字体会转换为一种位图图形。为此,它首先表示在将自定义字体添加到项目时,必须立即指定字符的大小,并且该字体将以该格式提供。如果您需要使用一种不同大小的字体两次,那么您将不得不两次将其添加到项目中,因此,它将占用两个内存。通常,字体会占用大量内存。例如,字符大小为38像素Bernard MT Condensed字体(仅数字)。占用1.8 KB,大小为42像素。-已经2 KB。值得注意的是,具有相同数字(大小38)的png图片仅“重” 450个字节。另一方面,图标字体本身是合理的,我就离开了。

这一切的后果是:
  • 尽可能优化您的图形。例如,从Sprite中删除所有相同的元素,并将它们放置在单独的文件中。
  • 使用字体很方便(您可以通过更改ID来更改大小),但是就内存使用而言,它们远非总是合理的。


这些是毡尖笔...

拨号参考:


All Articles