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

Solutions Collecting From Web of "OutOfMemoryError增加了什么以及如何?"

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

如果你需要输出一个大小的string,可以把它写入SD卡上的一个文件中。 这是我能想到从您的应用程序中获取此string的唯一方法。 如果将这些项目逐个追加到文件中,则需要多less内存。