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

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

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

heap - Android

25.12.2013, 17:03. Просмотров 278. Ответов 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
Посмотрите здесь:

C++ Работа с Heap
C++ heap corruption detected
Android Grow heap (frag case) to 54 MB
C++ Heap corruption detected
C++ Ошибка HEAP CORRUPTION
Heap Sort с рекурсией C#
Максимальный heap size Android
C++ Heap corruption detected
Heap corruption detected C++
Heap in C++ C++
C++ Heap in C++
Android Grow heap ImageView

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

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

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