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

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

Войти
Регистрация
Восстановить пароль
 
name?
198 / 169 / 18
Регистрация: 01.06.2010
Сообщений: 371
Завершенные тесты: 1
#1

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

25.12.2013, 17:03. Просмотров 282. Ответов 0
Метки нет (Все метки)

пишу игру и когда подгружаю картинки в контейнер heap нереально растет до 52мб

нагуглил и нашел решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private Bitmap returnBitmap(int id, Context context) {
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeResource(context.getResources(),id, bmOptions);
int photoW = bmOptions.outWidth;
int photoH = bmOptions.outHeight;
 
int scaleFactor = 1;
if ((WIDTH_DEVICE> 0) || (HEIGHT_DEVICE> 0)) {
scaleFactor = Math.min(photoW/WIDTH_DEVICE, photoH/HEIGHT_DEVICE); 
}
 
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true;
 
return BitmapFactory.decodeResource(context.getResources(),id, bmOptions);
}
heap не растет(5 мб), но картинки грузит в полном размере

когда пытаюсь их увеличить/уменьшить, то heap обратно возрастает до 52 мб

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private Bitmap returnBitmap(int object) {
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), object, bmOptions);
int photoW = (int) (bmOptions.outWidth * 0.625);
int photoH = (int) (bmOptions.outHeight * 0.592);
 
bmOptions.inJustDecodeBounds = false;
bmOptions.inPurgeable = true;
return Bitmap.createScaledBitmap(BitmapFactory.decodeResource(
getResources(), object, bmOptions), photoW, photoH,
true);
}
что я делаю не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 17:03     heap
Посмотрите здесь:

Максимальный heap size - Программирование Android
Сдраствуйте, наткнулся на то что память в андроиде очень ограничена (еще и от девайса к девайсу) и получается что я не могу работать с...

Grow heap ImageView - Программирование Android
Добрый день, пытаюсь немного оптимизировать свой код. Наибольшие проблемы на данный момент вызывает ImageView. ( ImageView находится в...

Grow heap (frag case) to 54 MB - Программирование Android
В программе для отображения информации использую 5 ImageView с Level-List. Все 5 xml файлов такого вида, различаются только ресурсы...

Heap in C++ - C++
Как подключить кучу в C++?

Heap in C++ - C++
Можно ли сделать кучу (make_heap) не максимальную, а минимальную?

Работа с Heap - C++
Помогите найти ошибку а то я что-то уже зае**** Так работает if(!data){//первый вызов функции ...

Heap Sort с рекурсией - C#
Здравствуйте, в универе задали реализовать пирамидальную сортировку с рекурсией. Нагуглила единственный похожий на правду пример (он был на...

Ошибка HEAP CORRUPTION - C++
Добрый вечер, программисты) Не могли бы вы подсказать новичку, каким образом можно обнаружить ошибку (heap corruption). Трассировка...

Память Heap и Stack - Java SE
Здравствуйте , подскажите пожалуйста такой вопрос . Вот есть есть три области памяти Heap,Stack ,PermGen . Вопрос вот в чем . Мы создаем...

Heap Corruption detected ( - C++
что не правильно? запускаю и ошибка вылетает как на предидущей картинке template<typename TT> class Matrix { public:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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