Android清洁虚拟内存

时间:2014-05-28 20:18:09

标签: android universal-image-loader android-volley virtual-memory

我的应用程序从Web服务加载了大量数据。问题是,在很多网络请求之后,它会从内存不足中崩溃。

我正在使用凌空库来处理网络请求,使用Universal ImageLoader库来加载和缓存图像。

如何防止它崩溃?是否可以清理虚拟内存?

2 个答案:

答案 0 :(得分:1)

你不能告诉JVM(在这种情况下是Dalvik)“立即”清理内存,因为垃圾收集器会在它认为这是一个好时机时启动(根据JVM规范)。你可以做的是:

  1. 将null赋给所有引用您不再需要的对象的变量。
  2. 特别注意引用大型Java对象的静态变量。
  3. 从您的代码中显式调用System.gc(),但请记住该调用并不意味着垃圾收集将立即启动。而是将此视为对JVM的建议,以尽快启动垃圾收集。

答案 1 :(得分:0)

你可以用clear()删除齐射缓存或手动设置它的大小 Android Volley + JSONObjectRequest Caching

与Universal ImageLoader库相同 见https://github.com/nostra13/Android-Universal-Image-Loader - 配置