Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
ILNAR_93
Android
243 / 240 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
1

ImageView очистка памяти

25.02.2016, 00:14. Просмотров 1114. Ответов 3
Метки нет (Все метки)

Приходит Base64 картинка, далее:

(Это все в фрагменте (Fragment))
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Bitmap base64ToBitmap(String base64Bitmap){
        if (base64Bitmap==null || base64Bitmap.length()<=0){
            return null;
        }
 
        try {
            byte[] decodedString = Base64.decode(base64Bitmap, Base64.DEFAULT);
            return BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        } catch (Exception ex){
            ex.printStackTrace();
            return null;
        }
    }
 
Phote.setImageBitmap(base64ToBitmap(base64Image));


В моем случае когда закрываю фрагмент мне нужно делать(чтобы освободить память от этих картинок):

А)
Java
1
2
3
if (Phote.getDrawable()!=null){
            ((BitmapDrawable) Phote.getDrawable()).getBitmap().recycle();
        }
B)
Java
1
2
3
if (Phote.getDrawable()!=null){
            Phote.setImageBitmap(null);
        }
С) Ваш вариант - ?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 00:14
Ответы с готовыми решениями:

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же...

Очистка памяти Bitmap
В фрагменте динамически создаются ImageView, после закрытия фрагмента они все исчезают, нужно ли в...

Очистка памяти на андроиде без внешней sd
помогите очистить память на андройде леново s860. он не имеет возможности расширения памяти, с...

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

ImageView
Подскажите как правильно выводить картинку из URL Вроде нашел какой то пример в сети, но что то не...

3
CoolMind
423 / 405 / 66
Регистрация: 06.10.2012
Сообщений: 1,735
25.02.2016, 10:07 2
Лучший ответ Сообщение было отмечено ILNAR_93 как решение

Решение

ILNAR_93, почитайте про weak reference.
1
ILNAR_93
Android
243 / 240 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
25.02.2016, 10:50  [ТС] 3
CoolMind, Я правильно понимаю что система сама удалит его?) т.е. если нужна память то система удалит
его даже если есть ссылка... Или мне нужно сделать Phote.setImageBitmap(null); и у меня исчезнет strong-ссылка и GC его удалит?)

Добавлено через 5 минут
CoolMind, Если я все правильно там понимаю Классную ты мне вещь предложил посмотреть Не знал
SoftReference - тоже вроде крутая вещь
0
CoolMind
423 / 405 / 66
Регистрация: 06.10.2012
Сообщений: 1,735
25.02.2016, 10:57 4
ILNAR_93, спасибо. Да, мне тоже нравится SoftReference, хоть и не использовал. Насколько знаю, библиотеки кэширования изображений его и используют.
0
25.02.2016, 10:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2016, 10:57

ImageView
Добрый день ! Делал проект с нуля, все как обычно, но при поиске id для ImageView мне вдруг выдает...

Анимация ImageView
Здравствуйте. Как реализовать анимацию Imageview таким образом,что бы при нажатии кнопка...

Кастомный ImageView
Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс (public class...


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

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

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