当函数在android结束时清除地图是否值得?

时间:2014-09-01 20:08:30

标签: java android

在android中,我使用了hashmaps和sparsearrays以及sparseintarrays。在函数中,我使用它们有时是临时对象。在功能结束之前,最好是清除地图的数据吗?

由于

2 个答案:

答案 0 :(得分:4)

  

在android中,我使用了hashmaps和sparsearrays以及sparseintarrays。在函数中,我使用它们有时是临时对象。在函数结束之前,最好是清除地图的数据吗?

不,这没有任何成就。

  

我想,如果你清除它,那么你就可以立即取回内存,而不是等待垃圾收集。那么这不是让它起作用吗?

清除集合只会删除对集合中项目的引用,因此您仍需要等待垃圾收集才能恢复内存。

答案 1 :(得分:2)

没有

没有必要这样做。由于hashmap是函数的本地,因此hashmap将由垃圾收集器收集,如果它是空的则没有区别。如果没有其他引用,也将收集hashmap的内容。它不会在地图内外快速收集。

因此清除它只会浪费时间。

但是如果你担心内存,那一定是一些非常大的对象。如果是Bitmap,则可以调用bmp.recycle()来帮助垃圾收集。