Есть несколько графических ресурсов для приложения. Нарисованы в векторе, но сохранены в формате .png
С помощью программы Resizer подогнал картинки для ldpi, mdpi, hdpi, xhdpi, xxhdpi, закинул их в соответственные папки drawable. Был ли смысл в сём действии?
Насколько я знаю, android, если есть хотя бы одна картинка, к примеру, в hdpi папке, сам подгонит ее для других плотностей экранов в ущерб качеству. С помощью программы Resizer я добился того же самого эффекта? Если ничего бы не поменялось в качестве, будь у меня ТОЛЬКО ресурсы xxhdpi, я бы имел один неплохой плюс. Заготовленные заранее ресурсы занимают больше памяти, столько, сколько приложение такого типа не должно занимать.
В чем суть вопроса: Если я сделаю ресурсы только для xxhdpi, Android сам подгонит их на нужных экранах? И не будет ли хромать качество, по сравнению с изменением размеров картинок вручную?
Вы сделали приложение немного быстрее и заставили потреблять меньше драгоценной оперативки. Размер apk конечно увеличился, но сейчас это никого не волнует.
Почти не волнует. У меня старая модель (Galaxy Ace 3, Android 4.2.2), и памяти достаточно мало. У меня была галерея, которая весила 1 Мб (!), а стандартная занимала 40 Мб. Просто для моего достаточно простого приложения (небольшая игра для компании) размер получается больше 15 Мб, + в учет то, что при добавлении рекламы (google play service) добавляется еще 3 Мб. Прошлое приложение делал в ущерб качеству картинок (для небольшой энциклопедии и для иконок), и все равно получилось почти 20 Мб установленного приложения. Да и если учитывать статистику по размеру apk, предоставляемой AppBrain...
Александр Варакосов: Tiny позиционируют себя, будто сжимают размер процентов на 300, почти не меняя качества. А я не верю в такие чудеса, что можно сжать и не потерять пиксели. А пример разных версий одного приложения в Google Play имеется? Не нарушают такие дубликаты, скажем так, версионные, правил гугла? Я видел лишь подобное - для каждого языка своя версия или демо и премиум версии.
tinyPNG выигрывает за счет размера палитры и выкидывания всех тегов, качество не страдает. Google Play имеет инструменты для размещения нескольких версий приложения под разные разрешения developer.android.com/guide/practices/screens-dist... Для пользователя это незаметно.
Ошибка 404 сначала стопорнула меня. Точка испортила ссылочку, надо убирать вручную, не все могут догадаться. :) А так большое спасибо, спрашивал одно, а полезной инфы получил намного больше.
Алексей Медведев: Принцип тот же, убирает метатеги и возвращает JPEG в progressive с качеством около 60-70%. На глаз, даже при хорошем мониторе, качество не отличить.
Лучше и почти все советуют делать resize картинок самостоятельно. А какие пропорции картинок вы делаете и под какие разрешения? Сам сейчас делаю игру и интересны именно resize для больших размеров экрана... Заранее спасибо!
Я сделал довольно таки глупо, возможно. https://habrastorage.org/files/938/7d2/01d/9387d20... - Это фотография таблички-напоминалки, висящей у меня над монитором. Данные для нее нашел в интернете. Исходя из нее я подсчитал, какого размера нужны картинки для каких конкретных размеров. Для mdpi (x1) у меня получилось 200*200 пикс. Соответственно по множителям из таблицы для других размеров: ldpi = 200*0.75=150 (150*150 пикс.); hdpi = 200 * 1.5 = 300 (300*300 пикс.); в xhdpi умножал на 2, в xxhdpi на 3. Рисовал картинки для xxhdpi (600*600 пикс.). С помощью маленькой программки-скрипта делал ресайз (скачать здесь - https://github.com/redwarp/9-Patch-Resizer - также нашел на просторах интернета), автоматически создает папки drawable-xxdpi и другие (если их нет). Ресайз получался в точности с моими расчетами нужных мне размеров.
Возможно, написал много лишнего, просто постарался максимально подробно описать! А проверял размеры изначально еще глупее. Вот написано, xhdpi (720*1280), я создал холст в фотошопе с таким размером. Для xhdpi размер 400*400 пикс., создавал квадрат с этим размером и смотрел, как будет выглядеть. :D