【发布时间】:2011-02-22 07:03:37
【问题描述】:
我有一个包含 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 应用程序的堆。我不运行命令行。
【问题讨论】:
-
为什么需要创建这么大的字符串?您不能“手动”遍历集合吗?
-
抱歉,不,它是生成系统的一部分。
标签: java android out-of-memory heap-memory