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

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

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

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

25.02.2016, 00:14. Просмотров 242. Ответов 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);
        }
С) Ваш вариант - ?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 00:14     ImageView очистка памяти
Посмотрите здесь:

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

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

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

Таблица из ImageView - Программирование Android
Как сделать 9 картинок 3х3, чтобы между ними не было отступов. Точнее я знаю как, вопрос в другом. Как указать android:layout_height...

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

Снова ImageView - Программирование Android
Значит, ситуация такая: создаю IV, ставлю в определённое место, запускаю покадровую анимацию. После анимации требуется нажать на...

ImageView вращение - Программирование Android
Как повернуть программно ImageView на 0-360 градусов понятно , а вот как повернуть его еще и в других плоскостях? То есть 3D вращение????

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

На счет ImageView - Программирование Android
Ребят, очень важный вопрос: Предложим у меня есть две картинки у них есть свои ID, как написать проверку - &quot;Есть ли выше одной картинки...

Наследование от ImageView - Программирование Android
Класс: public class AnimalView extends ImageView { private int AnimalType; public static final int DONKEY = 1; public...

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

ImageView и анимация - Программирование Android
Всем привет! Как можно переместить ImageView за пределы правой границы экрана ровно на половину изображения? Использую отрицательный...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
25.02.2016, 10:07     ImageView очистка памяти #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
ILNAR_93, почитайте про weak reference.
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
25.02.2016, 10:50  [ТС]     ImageView очистка памяти #3
CoolMind, Я правильно понимаю что система сама удалит его?) т.е. если нужна память то система удалит
его даже если есть ссылка... Или мне нужно сделать Phote.setImageBitmap(null); и у меня исчезнет strong-ссылка и GC его удалит?)

Добавлено через 5 минут
CoolMind, Если я все правильно там понимаю Классную ты мне вещь предложил посмотреть Не знал
SoftReference - тоже вроде крутая вещь
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
25.02.2016, 10:57     ImageView очистка памяти #4
ILNAR_93, спасибо. Да, мне тоже нравится SoftReference, хоть и не использовал. Насколько знаю, библиотеки кэширования изображений его и используют.
Yandex
Объявления
25.02.2016, 10:57     ImageView очистка памяти
Ответ Создать тему
Опции темы

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