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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,732
Записей в блоге: 3
#1

ImageView очистка памяти - Программирование Android

25.02.2016, 00:14. Просмотров 314. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 00:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ImageView очистка памяти (Программирование Android):

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

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

Очистка памяти на андроиде без внешней sd - Программирование Android
помогите очистить память на андройде леново s860. он не имеет возможности расширения памяти, с помощью флешки!!! только внутренняя память...

ImageView - Программирование Android
Добрый день ! Делал проект с нуля, все как обычно, но при поиске id для ImageView мне вдруг выдает : The method findByViewId(int) is...

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

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

3
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
25.02.2016, 10:07 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
ILNAR_93, почитайте про weak reference.
1
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,732
Записей в блоге: 3
25.02.2016, 10:50  [ТС] #3
CoolMind, Я правильно понимаю что система сама удалит его?) т.е. если нужна память то система удалит
его даже если есть ссылка... Или мне нужно сделать Phote.setImageBitmap(null); и у меня исчезнет strong-ссылка и GC его удалит?)

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

Кастомный ImageView - Программирование Android
Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс (public class TouchView extends ImageView), выводящий 2...

Квадратный ImageView - Программирование Android
Как заставить ImageView всегда быть квадратным и при этом максимального размера (расширяться до границ Activity) ?

Сохранение ImageView - Программирование Android
Всем привет, У меня такой вопрос, есть код который сохраняет imageview в папку Pictures , все работает и сохраняет ,захожу в проводник в...

Использование ImageView - Программирование Android
Установил Андроид Студио. Пытаюсь вникнуть. Наткнулся на первую проблемку, уже впринципе долговато не могу понять. На форму ложу...


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

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

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