2016-10-07 6 views
0

Я разрабатываю приложение для Android, где есть два действия, которые используют RecyclerView с настраиваемой компоновкой, содержащей изображения. Для загрузки изображений, у меня есть:Использование растровых изображений увеличивает использование ОЗУ

ImageView imgView = (ImageView)itemView.findViewById(R.id.imgView); 
Bitmap bitmap1 = BitmapFactory.decodeResource(context.getResources(), R.drawable.led); 
imgView.setImageBitmap(bitmap1); 

Я думал, что в методе OnDestroy() деятельности, если были загружены изображения в качестве изображения ГХ сможет освободить место, однако это не происходит и использование RAM-памяти увеличивается до тех пор, пока приложение не выйдет из строя для ошибки OOM.

Может ли кто-нибудь помочь мне разобраться, что случилось?

+2

Добавить звонок для перекодировки для растровых изображений, Android не выпускает их автоматически –

+0

Возник вопрос: Почему вы не используете imgView.setImageDrawable()? Вам не нужно декодировать drawable к растровому изображению, чтобы установить его в ImageView. –

+0

Вам нужно преобразовать выталкиваемые в растровые изображения? Android-ресурсы, доступные для просмотра, которые имеют одинаковые возможности. – Prashant

ответ

2

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

imgView.setImageResource(R.drawable.led); 
+0

И когда мне нужно использовать Bitmap? Чтобы загрузить изображение, сохраненное в устройстве, задающем путь? – mireia

+1

@mireia. Ваш первоначальный вопрос - о доступных изображениях. Добавьте еще один вопрос: ** отображение изображения локального устройства в RecyclerView **. –

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

  • Нет связанных вопросов^_^