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

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

Войти
Регистрация
Восстановить пароль
 
rian
0 / 0 / 0
Регистрация: 21.02.2009
Сообщений: 42
#1

Максимальный heap size - Программирование Android

30.09.2013, 23:41. Просмотров 956. Ответов 5
Метки нет (Все метки)

Сдраствуйте, наткнулся на то что память в андроиде очень ограничена (еще и от девайса к девайсу) и получается что я не могу работать с большим количеством изображений размером с экран (500х900)

т.е. например загружаю эту картинку в массив и инициализирую
Java
1
2
3
4
5
for (int i = 0; i < 20; i++) {
            Log.d("i", "" + i);
            dr[i] = BitmapFactory.decodeResource(getResources(),
                    R.drawable.crop);
        }
в результате на 15й итерации получаю ошибку: java.lang.OutOfMemoryError: bitmap size exceeds VM budget (48мб), вобщем вопрос в том как это принято обходить? показывают же как то приложения галереи например на 100 fullscreen изображений или много окон с картинкой на фоне...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 23:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Максимальный heap size (Программирование Android):

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

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

How to set text size and layout according resolution and dpi - Программирование Android
Hi, Please tell me that How to set text size and layout according resolution and dpi?

Нехватка памяти bitmap size exceeds VM budget - Программирование Android
Доброго времени суток третий день не могу разобраться в проблеме. У меня для фона использутся изображение при нажатии кнопки открывается...

[Eclipse] Heap size - JAVA IDE
Для чего может понадобиться включение функции отображения Heap Size в Eclipse?

Выделение памяти и ошибка Heap block at 00B515A0 modified at 00B515B9 past requested size of 11 - C (СИ)
Доброго времени суток! есть такой кусок кода: size_t read_lines(char ***lines) { typedef char* line_t; line_t *l =...

5
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
30.09.2013, 23:45 #2
В офф гайдах все доступно описано:
https://developer.android.com/intl/r...aps/index.html

Если кратко - грузить в память уменьшенную копию.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.09.2013, 23:55 #3
и не держать в памяти больше чем нужно.
0
rian
0 / 0 / 0
Регистрация: 21.02.2009
Сообщений: 42
01.10.2013, 00:06  [ТС] #4
ок, учтем

Добавлено через 8 минут
ЗЫ ладно еще вопрос, как тогда например qip за сутки в фоне течет мегабайт на 70 и не падает игры могут тянуть больше 100мб...
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 00:24 #5
какое отношение "течет за сутки" и "тянуть" имеют к "висеть в памяти в один момент времени"?

Добавлено через 6 минут
да и в современных девайсах, с пометкой android:largeHeap="true" в манифесте, максимальный хип может превышать 100мб.
0
rian
0 / 0 / 0
Регистрация: 21.02.2009
Сообщений: 42
01.10.2013, 09:31  [ТС] #6
Цитата Сообщение от V0v1k Посмотреть сообщение
какое отношение "течет за сутки" и "тянуть" имеют к "висеть в памяти в один момент времени"?
"висеть в памяти" это последствия
0
01.10.2013, 09:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 09:31
Привет! Вот еще темы с ответами:

Ошибка: firebird Size Mismatch - Field GROUP size is too small for data - Delphi БД
Возникла проблема, пишет Size Mismatch - Field FULL_ADR size is too small for data ошибку, которой не было, пока не заполнил Таблицу бд...

Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1] - C++
Требуется написать программу, которая заполняет массив размерности n*n по заданному правилу: 25 23 22 16 15 24 ...

Можно ли обойти ограничение на максимальный размер массива ? error C2148: total size of array must not exceed 0x7fffffff bytes - C++
Ну собственно Visual Studio 2012, платформа x64, при попытке создать массив из 10-и миллиардов элементов unsigned *test = new unsigned; ...

Size suffix and destination or source size do not match - Assembler
Добрый день, возникла проблема. Говорю сразу в ассемблере ничего не понимаю, в гугле нашел только одну ссылку на свою проблему. Код пишу в...


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

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

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