Android 截击-java.lang.OutOfMemoryError
我正在尝试在我的应用程序中使用json实现截击库。但每次我运行它时,应用程序都会冻结并崩溃,显示此日志消息。我想不出是什么问题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
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字节的字符串缓冲区