- PVSM.RU - https://www.pvsm.ru -
Вот и настал тот прекрасный день, когда я решил, что надо бы мне раскрасить свой циферблат [1] для Pebble Time. Благо, уважаемый beliakov [2] достаточно подробно описал [3], как это сделать, да и официальной информации хватает. Но и тут без бубна не обошлось…
Раскрашивание графики много времени не заняло, а добавление её в проект на CloudPebble оказалось даже проще, чем я предполагал: непосредственно на странице графического ресурса можно дополнительно загрузить цветную версию. Обе версии картинки имеют один ID и компилятор сам выбирает, какую когда использовать.
К сожалению, при компиляции я столкнулся с нехваткой памяти для ресурсов. В этом случае циферблат «крэшится» на часах, а вот на эмуляторе работает нормально, только графика, на которую не хватило памяти, не отображается. Далее пошли замеры и эксперименты, занявшие у меня более двух суток. Если в двух словах, то я грузил разные ресурсы (картинки и шрифты) и трэйсил занимаемую ими память. Ниже я приведу выводы, сделанные мной на основе этих тестов, причём некоторые на уровне догадок.
Со шрифтами всё оказалось ещё интересней. Судя по всему, при компиляции шрифт переводится в некую растровую графику. В пользу этого, в первую очередь, говорит то, что добавляя в проект пользовательский шрифт, необходимо сразу указать размер символов и именно в таком виде он и будет доступен. Если необходимо использовать один шрифт дважды разного размера, то и добавлять его в проект придётся дважды и, соответственно и памяти он отъест за двоих. Вообще шрифты используют очень много памяти. Например, шрифт Bernard MT Condensed [4] (только цифры) с размером символов 38 пикс. занимает 1,8 Кбайт, а с размером 42 пикс. — уже 2 Кбайта. Примечательно, что картинка в png с теми же самыми цифрами (размер 38) «весит» всего 450 байт. С другой стороны, иконочный шрифт себя оправдал и его я оставил.
Что из всего этого следует:
Вот такие фломастеры…
Автор: newkamikaze
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/nosimaya-e-lektronika/91584
Ссылки в тексте:
[1] свой циферблат: http://geektimes.ru/post/244280/
[2] beliakov: http://geektimes.ru/users/beliakov/
[3] подробно описал: http://geektimes.ru/post/246494/
[4] Bernard MT Condensed: https://www.microsoft.com/typography/fonts/family.aspx?FID=82
[5] Pebble Store: https://apps.getpebble.com/applications/54a1169143ae82b64b000089
[6] mypebblefaces: http://www.mypebblefaces.com/apps/26414/11501/
[7] исходный код: https://github.com/lentyay/flip-watchface
[8] Источник: http://geektimes.ru/post/251528/
Нажмите здесь для печати.