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应用程序增加堆。我不运行命令行。


问题答案:

似乎Android应用程序上的堆空间有16
MB的硬限制,只能通过更改Android源来解决。您的程序已达到此限制:“内存不足:堆大小=
15559KB”。您需要弄清楚如何减少程序的内存使用量。一个很好的指导,在这里