java - Android 中的垃圾收集器

标签 java android garbage-collection

我看到很多 Android 回答建议在某些情况下调用垃圾收集器。

在执行需要大量内存的操作之前请求 Android 中的垃圾收集器是一种好习惯吗?如果没有,我是否应该只在收到 OutOfMemory 错误时才调用它?

在求助于垃圾收集器之前我还应该使用其他东西吗?

最佳答案

对于 3.0 蜂窝之前的版本:是的,调用 System.gc()

我尝试创建位图,但总是收到“VM 内存不足错误”。但是,当我先调用 System.gc() 时,就可以了。

在创建位图时,Android 经常会因内存不足错误而失败,并且不会首先尝试进行垃圾收集。因此,调用 System.gc(),您就有足够的内存来创建位图。

如果创建对象,我认为 System.gc 会在需要时自动调用, 但 不是 用于创建位图。它只是失败了。

所以我建议在创建位图之前手动调用 System.gc()

关于java - Android 中的垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117429/

相关文章:

java - System.currentTimeMillis 测量时间

java - OpenGL ES glBlendFunc 硬件要求

java - 浏览器不断发送 NTLM token 而不是 Kerberos - 如何解决?

Android Facebook SDK : "An error occured with holyplanets connect. Please try again later." How do I fix it?

java - dataSnapshot 检索最后一条消息但难以在小部件上显示它......?

java - 复制或合并两个包含相同对象的 ArrayList 的有效方法

JavaScript 添加事件监听器

java - 有条件地对流应用限制 - "stream has already been operated upon or closed"

c# - 什么时候可以调用 GC.Collect?

java - 错误 java.lang.OutOfMemoryError : GC overhead limit exceeded