2013-01-08 4 views
0

Привет и счастливый новый год!Загрузите изображения и поместите их в ImageViews

Я пытаюсь загрузить изображения из Интернета и поместить их в разные ImageViews. ImageViews динамически создаются по мере прокрутки пользователя. Когда пользователь достигает нижней части прокрутки, я загружаю 10 изображений больше.

Образы загружаются нормально, но когда у меня есть много изображений, я получаю java.lang.OutOfMemoryError.

Я знаю, что проблема в том, что у меня много изображений, потребляющих много памяти, поэтому ... каков способ продолжить мой сценарий?

Спасибо!

ответ

2

Попробуйте использовать ListView вместо ScrollView. Затем вы можете использовать ленивую технику загрузки, такую ​​как Universal Image Loader. ListView использует утилиту просмотра, которая будет проще в вашей памяти, и вы также можете кэшировать изображения с помощью загрузчика изображений. В этой библиотеке также есть несколько вариантов управления памятью.

+0

Мне нужны два изображения (возьмите приложение pinterest в качестве примера или что я делаю). Как вы думаете, для этого подходит список? – Chux

+0

Прокручиваются ли столбцы отдельно или весь список прокрутки отображается как один список? – Wenger

+0

им нужно прокрутить как один список – Chux

0

Вам необходимо будет отслеживать загруженные вами изображения и начать их перерабатывать, когда они находятся вне поля зрения.

Возможно, вы найдете ценный инструмент LruCache. Был хороший разговор в IO12 «Doing More With Less: Being a Good Android Citizen», в котором много проблем с памятью, и в нем обсуждается, как использовать LruCache, начиная с отметки в 4 минуты.

+0

Спасибо за ваш ответ. Я посмотрю и скажу вам кое-что ^^ – Chux

+0

Хорошо знать, как работает lrucache, но это не решает мою проблему. Благодаря! – Chux

Смежные вопросы