Pull to refresh

Comments 19

И отправила мне эти иконки в svg формате, с чувством выполненного долга.

Я правильно понял, что можно было и не в svg? Ну т.е. вместо всего этого достаточно было их конвертировать в растровый формат?
Разумеется. Раньше так и делали, в нескольких разрешениях в png, но на дворе ведь 21-й век
А вам не кажется, что сохранить картинку растром в трех разрешениях — это наоборот, чуть более прогрессивный способ решения задачи, чем «в лоб» заставить тужиться несколько миллионов устройств (или какая там у вас будет аудитория :-), просчитывая несколько слоёв векторной картинки? Тем более что ваш эксперимент наверняка компании обошелся в несколько раз дороже, чем полчаса времени дизайнера на пересохранение всех пиктограмм в приложении.
Я вам скажу по секрету, что начал программировать с языка ассемблера и не признавал лет 10 ничего иного, как раз из соображений недопущения перегрева Вселенной :) Но правда оказалась в том, что всем пофиг. Никому не нужны оптимально работающие программы длиной 500 байт.
В данной же ситуации наличие векторных изображений сильно сокращает время разработки, поскольку программисту можно отмасштабировать картинки согласно спецификациям, а кроме того, они используются на разных View в разных размерах
В данной же ситуации наличие векторных изображений сильно сокращает время разработки,

Я по поводу «сильно сокращает» возражаю. Экономия времени там близка к нулю на самом деле (Android с версии, если память не изменяет, 2.1 умеет автоматически подбирать изображение по разрешению экрана и делать ресемплинг), а если посчитать ещё и время на предложенную вами доводку svg до ума, то вместо экономии будет жуткий оверхед. Android 6+, если не ошибаюсь, сейчас это примерно треть действующих устройств, да? А у вас даже для пятой нужно руками допиливать каждый ресурс. Да ну к лешему такое «сильно сокращает».
Автоматический ресемплинг растровых изображений выглядит тем ужаснее, чем меньше иконка.
Но суть статьи не в этом. Скорее я хотел предложить proof of concept
UFO just landed and posted this here
Чудес же не бывает. Оно только в ресурсах векторное и маленькое. А при отображении оно все равно будет растеризоваться, да ещё и с просчетами «на лету» всех тех эффектов, и памяти на все свои слои будет кушать. Наоборот, если весь этот процесс заранее сделают на компьютере дизайнера, ваш телефон только спасибо скажет.
UFO just landed and posted this here
Оперативки в таком случае, значит, еще меньше?
UFO just landed and posted this here

Тут палка о двух концах — с одной стороны рендеринг svg напряжен для cpu, с другой стороны пяток png по 10-50 киллобайт каждая весит заметно больше, чем svg на 600 байт, которая ещё и пакуется прикрасно. Юзерам это всё качать (часто используя мобильный интернет) и хранить в скромной внутренней памяти, которая нынче редко расширяется дополнительными sd-карточками. Так что не всё так однозначно.

Запомним — спасибо
И спасибо дизайнеру за стимуляцию творчества программистов

Круто. Интересный способ.
Помню в прочтенный туториалах от Google они писали, что рекомендуют использовать вектора, если размеры не будут больше чем 300X300. С другой стороны приложение «похудеет».
Разве при сборке APK студия не генерирует PNG по векторным изображениям?
Вероятно, так и произойдет для pre-Lollipop таргета
Судя по APK, он не генерит растровые изображения из векторов при сборки.
Для Pre-Lolipop мы используем Support либу для вывода векторов.
Нет, если включить поддержку векторов. В Саппорте есть такое
Sign up to leave a comment.

Articles