Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

xxhdpi ресурсы для всех макетов - Android

13.02.2014, 13:09. Просмотров 1886. Ответов 7
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста.

1) Если использовать ресурсы из папки drawable-xxhdpi, которая хранит нарезку элементов из под разрешения 1920x1080 для всех макетов, то как на это будет реагировать устройство с меньшим размером экрана к примеру 480x800. Будет ли больше тратиться ресурсов памяти на загрузку больших элементов под меньшее разрешение или нет?

2) И если НАОБОРОТ использовать ресурсы из папки drawable-hdpi, которая хранит нарезку элементов из под разрешения 480x800 для всех макетов, то как на это будет реагировать устройство с Большим размером экрана к примеру 1920x1080. Будет ли больше тратиться ресурсов памяти на загрузку маленьких элементов под большее разрешение или нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
verylazy
Заблокирован
13.02.2014, 13:37     xxhdpi ресурсы для всех макетов #2
Я думаю что картинки при загрузке автоматически масштабируются под требуемую плотность экрана.
И поэтому они должны занимать в памяти меньше места.
Кроме того, что это написано на сайте developer.android.com я еще проверял так: запускал свою программу на разных плотностях экрана и смотрел сколько будет занимать Bitmap с моей теcтовой вьюшки.
Java
1
2
3
4
5
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        System.out.println("плотность точек " + metrics.density);       
 
        Bitmap b = Bitmap.createBitmap( card[0].getLayoutParams().width, card[0].getLayoutParams().height, Bitmap.Config.ARGB_8888);
        System.out.println("ByteCount " + b.getByteCount());
card[0] это мое ImageView, картинка лежит вообще в папке drawable-xxhdpi

для примера на экране hdpi показало размер битмапа что-то около 30Кб
если запустить на ldpi то покажет 5.5кб
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
13.02.2014, 13:57  [ТС]     xxhdpi ресурсы для всех макетов #3
Интересный опыт.
А вот интересно если бы картинка лежала не в drawable-xxhdpi а в drawable-hdpi, как память бы использовалась? И какой способ выгодней в плане использования меньшего количества памяти?
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
13.02.2014, 14:12     xxhdpi ресурсы для всех макетов #4
Под каждую плотность пикселей делайте отдельную картинку. В противном случае возможны три неприятных варианта:
1) Картинка будет сжиматься "сама", на это требуются ресурсы. И не факт что результат это ресайзинга вам понравится.
2) Картинка растянется и будет вся в квадратиках
3) Картинка сохранит свой естественный размер в пикселеях, но из-за разной плотности экранов, физически она будет занимать разное пространство. На экранах с низким dpi она будет здоровой, а на экранах с высоким dpi, наоборот маленькой
verylazy
Заблокирован
13.02.2014, 14:17     xxhdpi ресурсы для всех макетов #5
Лень было писать, но ладно.

Я не заметил разницы между картинкой, которую я ресайзил в фотошопе и картинкой, которая получилась после автоматического ресайза.
Квадратики будут только если из маленькой картинки делать большую.
Если правильно верстать и ложить правильные картинки в нужные папки то размер особо не изменится.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
13.02.2014, 15:48  [ТС]     xxhdpi ресурсы для всех макетов #6
Цитата Сообщение от angryrobot Посмотреть сообщение
Под каждую плотность пикселей делайте отдельную картинку.
А именно делать привязку по пикселям или необходимо делать определенного разрешения?
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
13.02.2014, 22:29     xxhdpi ресурсы для всех макетов #7
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А именно делать привязку по пикселям или необходимо делать определенного разрешения?
Разрешение не важно, важна плотность пикселей конкретного экрана. Прочитайте вот это чтоб лучше разобраться с поддержкой разных экранов http://developer.android.com/intl/ru...s_support.html
Букв там очень много, сам с двух раз осилил, но это того стоит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 09:03     xxhdpi ресурсы для всех макетов
Еще ссылки по теме:

Android Локальные ресурсы
Android Android Studio - строковые ресурсы
Android Литература и ресурсы по Android UI UX
Android Ресурсы android studio
Android Gradle объединить ресурсы для двух сборок

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.02.2014, 09:03     xxhdpi ресурсы для всех макетов #8
Есть еще момент с сотношением сторон экрана, картинка может будет без видимой "пиксилизации", но может растянуться или сжаться по длинной стороне. Если Ваше ПО использует графику и графика является неотъемлемой частью, то советую вложить в этот момент больше ресурсов (времени, знаний или денег) и сделать всю графику для всех четырех dpi
Yandex
Объявления
14.02.2014, 09:03     xxhdpi ресурсы для всех макетов
Ответ Создать тему
Опции темы

Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru