Android 截击-java.lang.OutOfMemoryError

Android 截击-java.lang.OutOfMemoryError,android,android-volley,android-json,Android,Android Volley,Android Json,我正在尝试在我的应用程序中使用json实现截击库。但每次我运行它时,应用程序都会冻结并崩溃,显示此日志消息。我想不出是什么问题 java.lang.OutOfMemoryError: Failed to allocate a 36089274 byte allocation with 16769200 free bytes and 16MB until OOM at

我正在尝试在我的应用程序中使用json实现截击库。但每次我运行它时,应用程序都会冻结并崩溃,显示此日志消息。我想不出是什么问题

java.lang.OutOfMemoryError: Failed to allocate a 36089274 byte allocation with 16769200 free bytes and 16MB until OOM
                                                                  at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
                                                                  at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:125)
                                                                  at java.lang.StringBuffer.append(StringBuffer.java:278)
                                                                  at java.io.StringWriter.write(StringWriter.java:123)
                                                                  at com.android.internal.util.FastPrintWriter.flushLocked(FastPrintWriter.java:358)
                                                                  at com.android.internal.util.FastPrintWriter.appendLocked(FastPrintWriter.java:303)
                                                                  at com.android.internal.util.FastPrintWriter.write(FastPrintWriter.java:625)
                                                                  at com.android.internal.util.FastPrintWriter.append(FastPrintWriter.java:658)
                                                                  at java.io.PrintWriter.append(PrintWriter.java:691)
                                                                  at java.io.PrintWriter.append(PrintWriter.java:31)
                                                                  at java.lang.Throwable.printStackTrace(Throwable.java:324)
                                                                  at java.lang.Throwable.printStackTrace(Throwable.java:300)
                                                                  at android.util.Log.getStackTraceString(Log.java:343)
                                                                  at com.android.internal.os.RuntimeInit.Clog_e(RuntimeInit.java:60)
                                                                  at com.android.internal.os.RuntimeInit.access$200(RuntimeInit.java:44)
                                                                  at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:86)
                                                                  at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
                                                                  at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

你的应用程序使用了太多内存。 使用NDK,或者如果需要更多,请在应用程序标记中的AndroidManifest.xml中使用
android:largeHeap=true


这里的问题是您试图显示的图像/位图太大。通常在图像为1mb时发生+ 更高效地显示位图 要解决这个问题,你可以检查这个

你用截击处理的这个响应有多大?您的内存不足,因为Volley正试图将一个36mb的字符串写入您的内存

要么到达不同的终点返回更少的数据,要么考虑使用支持流式处理响应的不同库


(截击不适合传输大量数据)

没有那么多。这是json url:根据堆栈跟踪,我们可能需要查看更多代码,您正在分配一个36089274字节的字符串缓冲区