OutOfMemoryError, что увеличиться и как?

У меня есть действительно длинный набор с 10k объектами, и при выполнении toString () на объекте, который он разрушает. Я должен использовать этот вывод так или иначе.

05-21 12:59:44.586: ERROR/dalvikvm-heap(6415): Out of memory on a 847610-byte allocation.
05-21 12:59:44.636: ERROR/dalvikvm(6415): Out of memory: Heap Size=15559KB, Allocated=12932KB, Bitmap Size=613KB
05-21 12:59:44.636: ERROR/AndroidRuntime(6415): Uncaught handler: thread main exiting due to uncaught exception
05-21 12:59:44.636: ERROR/AndroidRuntime(6415): java.lang.OutOfMemoryError
05-21 12:59:44.636: ERROR/AndroidRuntime(6415):     at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:97)
05-21 12:59:44.636: ERROR/AndroidRuntime(6415):     at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:155)
05-21 12:59:44.636: ERROR/AndroidRuntime(6415):     at java.lang.StringBuilder.append(StringBuilder.java:202)
05-21 12:59:44.636: ERROR/AndroidRuntime(6415):     at java.util.AbstractCollection.toString(AbstractCollection.java:384)

Я должен шаг за шагом вести, как увеличить "кучу" для и приложение Android. Я не выполняю командную строку.

12
задан Pentium10 21 May 2010 в 10:04
поделиться

2 ответа

Похоже, что для приложений Android существует жесткое ограничение в 16 МБ кучи, которое можно обойти, только изменив исходный код Android . Ваша программа достигла этого предела: «Недостаточно памяти: размер кучи = 15559 КБ». Вам нужно будет выяснить, как уменьшить использование памяти вашей программой. Хорошее руководство для этого находится здесь .

8
ответ дан 2 December 2019 в 22:51
поделиться

Если вам нужно вывести строку с таким размером, попробуйте записать ее в файл на SD-карте. Это единственный способ получить эту строку из вашего приложения. Если вы добавляете элементы по одному в нужный файл, вам потребуется столько памяти.

0
ответ дан 2 December 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: