【问题标题】:Out of memory error in VolleyVolley 内存不足错误
【发布时间】:2017-04-14 09:22:21
【问题描述】:

我将 Volley 用于我的网络库,但出现内存不足错误。它只发生在我们的一位用户身上,但我想知道,如果可能的话,我该如何解决这个问题。

stacktrace 很小而且非常无用:

Fatal Exception: java.lang.OutOfMemoryError
   at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:122)
   at com.android.volley.toolbox.BasicNetwork.entityToBytes(BasicNetwork.java:241)
   at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:123)
   at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)

这就是整个堆栈跟踪?

有什么想法吗?

【问题讨论】:

  • volley 检索到的内容有多大?看起来设备的内存太小,无法处理这么大的内容。还有设备型号是什么?
  • 很难说这个调用是在哪里进行的,我们在这个应用程序中有大约 68 个不同的 web 服务调用,从技术上讲,它可能是其中任何一个?
  • 整个应用程序的内存不足。问题可能是即时请求,但通常是完全不同的地方。无法从给定的信息中进行调试。试着弄清楚它是什么请求,导致它的请求数据有多大,看看它是否不合理。如果没有,请查看堆转储以查看总内存使用情况并查找泄漏。

标签: java android android-volley


【解决方案1】:

how to correct this error: java.lang.OutOfMemoryError:检查一下

大多数情况下发生这种情况是因为大位图超出了 VM 堆的限制,因此您需要缩小图像或降低图像质量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多