Android清洁虚拟内存

Android清洁虚拟内存,android,universal-image-loader,android-volley,virtual-memory,Android,Universal Image Loader,Android Volley,Virtual Memory,我的应用程序从Web服务加载大量数据。问题是,在大量网络请求之后,它会因内存不足而崩溃 我使用volley库处理网络请求,使用Universal ImageLoader库加载和缓存图像 如何防止它崩溃?可以清理虚拟内存吗?您不能告诉JVM(在本例中是Dalvik)立即清理内存,因为垃圾收集器会在它认为合适的时候启动(根据JVM规范)。您可以做的是: 为引用不再需要的对象的所有变量指定null 请特别注意引用大型Java对象的静态变量 从代码显式调用System.gc(),但请记住,该调用并不意味

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

我使用volley库处理网络请求,使用Universal ImageLoader库加载和缓存图像

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

您不能告诉JVM(在本例中是Dalvik)立即清理内存,因为垃圾收集器会在它认为合适的时候启动(根据JVM规范)。您可以做的是:

  • 为引用不再需要的对象的所有变量指定null
  • 请特别注意引用大型Java对象的静态变量
  • 从代码显式调用System.gc(),但请记住,该调用并不意味着垃圾收集将立即开始。而应将此视为JVM尽快启动垃圾收集的建议。李>
    您可以使用clear()删除截取缓存或手动设置其大小

    与通用ImageLoader库相同
    请参阅-配置

    谢谢,但我的问题仍然存在。我只使用一个活动来创建多个片段,我有十种不同的布局,这是一个问题吗?我在使用后清理了所有碎片,但内存继续增加。远程故障排除将非常困难。在传统的Java世界中,有像Wily Introscope这样的工具。在安卓系统上——我只是不知道。如果有什么发现,我会告诉你。事实上,通过谷歌搜索,我发现了这个:看起来是一个很好的起点。谢谢,在你的帮助下,我发现了这个问题。问题是在截取请求上,我有92个“com.android.volley.NetworkDispatcher”实例,现在我需要弄清楚为什么会发生这种情况。是啊,我知道,解决内存泄漏问题并不有趣,尤其是在处理第三方LIB时。祝你好运