Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
1

При загрузке изображений через Univeral Image Loader видно как они перерисовываются

21.08.2017, 20:40. Просмотров 321. Ответов 9
Метки нет (Все метки)

я загружаю изображения из галереи в RecyclerView. Элемент RecyclerView есть ImageView c width и height WRAP_CONTENT. Изображения загружаю при помощи Univeral Image Loader в методе BindViewHolder и при быстром скроле списка заметно как изображения перерисовываются. Как можно решить эту проблему? Это возможно происходит из за высокого разрешения изображений.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2017, 20:40
Ответы с готовыми решениями:

при загрузке с установочной флешки win7 не видно точек восстановления, хотя в системе они есть!
Здравствуйте, суть проблемы - windows не загружается , выдает синий экран - решил восстановиться с...

Image - при компиляции картинки не видно
загрузил картинку.jpg в компонент image при компиляции картинки не видно

Не видно кириллицу при загрузке файла
Если в текстовом файле символы на латинице, программа считывает их нормально, если на кириллице -...

при загрузке биоса выдает ошибку "CMOS checksum error - Defoults loader" и не включается ни клавиатура ни мышь
объясните в чем проблема включаю комп при загрузке биоса выдает ошибку "CMOS checksum error -...

При загрузке из бд данные равны null, но при выводе лога они есть
Как получается, что при загрузке из бд данные равны null, но при выводе лога они есть? ...

9
arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 212
22.08.2017, 01:23 2
Ну, как вариант, можно использовать ListView, который постоянно хранит в памяти все содержащиеся в нем элементы. Либо каким-то образом увеличить стек RecyclerView.
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
22.08.2017, 12:29  [ТС] 3
Либо каким-то образом увеличить стек RecyclerView.
А если стек recyclerview увеличить сильно то может произойти OutofMemory??

Добавлено через 51 секунду
у него просто есть метод setItemViewCacheSize и если в него передать большое значение то есть опасность outofmemory?? А если ListView хранит постоянно в памяти все содержащиеся в нем элементы то если элементы большие и их много почему он не падает по памяти можете объяснить за счет чего?
-0.50
arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 212
22.08.2017, 18:26 4
Цитата Сообщение от yura91 Посмотреть сообщение
А если ListView хранит постоянно в памяти все содержащиеся в нем элементы то если элементы большие и их много почему он не падает по памяти можете объяснить за счет чего?
Потому что памяти хватает обычно. Если на LitsView будет находиться >100 изображений, тогда возникнут проблемы скорее всего, особенно высокого разрешения. Кстати, может лучше не рисовать на экране настолько большие изображения, чтобы было заметно как они перерисовываются? Попробуйте использовать Picasso:
Java
1
2
3
4
5
Picasso.with(getActivity())
                    .load(documentFile.getUri())
                    .resize(200, 200)
                    .centerCrop()
                    .into(mImageView);
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
22.08.2017, 18:55  [ТС] 5
Кстати, может лучше не рисовать на экране настолько большие изображения, чтобы было заметно как они перерисовываются?
А как по вашему их не рисовать если они загружаются, то есть параметр WRAP_CONTENT у ImageView убрать и задать фиксированные размеры длины и ширины или на уровне bitmap подредактировать перед установкой в список?? Можете пояснить этот момент?
-0.50
arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 212
22.08.2017, 18:59 6
Я же написал как.
0
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
22.08.2017, 19:03  [ТС] 7
Понял при помощи Picasso

Добавлено через 1 минуту
А как в Picasso добавить Header ну в нем токен например??
-0.50
arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 212
22.08.2017, 21:35 8
Цитата Сообщение от yura91 Посмотреть сообщение
А как в Picasso добавить Header ну в нем токен например??
Я не совсем понял вопрос, но возможности пикассо можете посмотреть здесь:
http://square.github.io/picasso/
0
petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 696
Завершенные тесты: 1
29.08.2017, 16:27 9
Java
1
2
3
4
5
6
7
8
9
10
Picasso.Builder builder = new Picasso.Builder(getActivity());
picasso =  builder.downloader(new OkHttpDownloader(getActivity()) {
    @Override
    protected HttpURLConnection openConnection(Uri uri) throws IOException {
        HttpURLConnection connection = super.openConnection(uri);
        connection.setRequestProperty(Constant.HEADER_X_API_KEY, token);
        return connection;
    }
}).build();
picasso.load(url).into(mTarget);
SO
1
yura91
2 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,328
30.08.2017, 00:38  [ТС] 10
Спасибо
0
30.08.2017, 00:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2017, 00:38

диск Western Digital WD20EARS часто пропадает при загрузке и не видно в биосе
диск Western Digital WD20EARS часто пропадает при загрузке и не видно в биосе, что делать? при...

Показать loader пока image не загрузился
доброе утро! загружаю картинку из интернета таким способом. UIImage *pImage=]];; ; но...

При активации Windows 7 через различные loader - ы, после перезагрузки выходит синий экран
Не пойму в чем причина. Устанавливаю Windows 7 на ноутбук Samsung (новый, I3 ОЗУ 4GB). Все...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru