Android 活动关闭后完全释放内存

Android 活动关闭后完全释放内存,android,memory,Android,Memory,当用户关闭活动时,我需要完全释放活动所使用的内存。将使用 android:noHistory="true" 够了吗?说 android:noHistory="true" 您告诉android不要在活动的后堆栈中保留活动的引用。这已经是一个好的开始 剩下要做的唯一一件事就是确保你自己没有对你的活动进行引用。例如,不要: 将活动实例存储为静态数据字段。它不会像类那样被垃圾收集 将活动实例存储为单例的数据字段。(作为传递,singleton实例是一个静态数据字段)。等等 如果您不保留对它的任何

当用户关闭
活动时,我需要完全释放
活动所使用的内存。将使用

android:noHistory="true"
够了吗?

android:noHistory="true"
您告诉android不要在活动的后堆栈中保留活动的引用。这已经是一个好的开始

剩下要做的唯一一件事就是确保你自己没有对你的活动进行引用。例如,不要:

  • 将活动实例存储为静态数据字段。它不会像类那样被垃圾收集
  • 将活动实例存储为单例的数据字段。(作为传递,singleton实例是一个静态数据字段)。等等
如果您不保留对它的任何引用,并添加noHistory标志,那么您可以确保它将被垃圾收集


另外,请注意,您可以与eclipse一起使用,以确保在到达第二个活动时没有第一个活动的实例。

您希望通过完全释放内存来解决哪个问题?我的应用程序正在使用大量图像和资源,因此内存是我的应用程序的一个热点问题!当第二个活动结束时,没有理由在内存中有任何与之相关的东西…建议?确保不要保留对不再需要的对象的引用。系统将处理其余部分。例如,在开始时,我需要一个对
ImageView
的引用,ImageView tmp=。。。。。但是过了一会儿,我不再需要那个对象了,如何释放它呢?设置
tmp=null
,你就完成了。