Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OutOfMemoryError要增加什么以及如何增加?_Java_Android_Heap_Out Of Memory - Fatal编程技术网

Java OutOfMemoryError要增加什么以及如何增加?

Java OutOfMemoryError要增加什么以及如何增加?,java,android,heap,out-of-memory,Java,Android,Heap,Out Of Memory,我有一个非常长的集合,包含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 Si

我有一个非常长的集合,包含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堆空间的硬限制,只能由用户来处理。您的程序已达到此限制:“内存不足:堆大小=15559KB”。您需要找出如何减少程序的内存使用。一个很好的指南是。

如果您需要输出一个具有该大小的字符串,请尝试将其写入SD卡上的文件中。这是我能想到的从你的应用程序中删除这个字符串的唯一方法。如果将项目逐个附加到所需的文件中,则需要大量内存。

为什么需要创建这么大的字符串?你不能“手动”遍历集合吗?对不起,不,它是生成系统的一部分。