Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
name?
198 / 169 / 52
Регистрация: 01.06.2010
Сообщений: 371
Завершенные тесты: 1
#1

heap

25.12.2013, 17:03. Просмотров 326. Ответов 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);
}
что я делаю не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 17:03
Ответы с готовыми решениями:

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

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

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 17:03

Используем Heap
В этой задаче от вас требуется реализовать структуру данных heap. Ваша...

Heap overflows
Всем привет! Помогите пожалуйста с таким вопросом. Я написала так : //digits...

Работа с Heap
Помогите найти ошибку а то я что-то уже зае**** Так работает ...


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

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

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