在android中,当函数结束时,清除Map值得吗?

5uzkadbs  于 2023-03-16  发布在  Android
关注(0)|答案(2)|浏览(127)

在android中,我使用散列表、稀疏数组和稀疏内部数组。在函数中,我有时使用临时对象。在函数结束之前,是否清除Map的数据是一个好习惯?
谢谢

dba5bblo

dba5bblo1#

在android中,我使用散列表、稀疏数组和稀疏内部数组。在函数中,我有时使用临时对象。在函数结束之前,是否清除Map的数据是一个好习惯?
不,那没用。
我想,如果你清除了它,那么你马上就能取回内存,而不是等待垃圾回收,所以这不就能让它工作吗?
清除集合只会消除对集合中的项的引用,因此您仍然必须等待垃圾回收才能取回内存。

sqserrrh

sqserrrh2#

没有。
这样做是不必要的。因为散列表是函数的本地Map,所以散列表将被垃圾收集器收集,它是否为空没有区别。如果散列表没有其他引用,它的内容也将被收集。无论是在Map中还是在Map外,它都不会被更快地收集。
因此,清除它只会浪费您的时间并使代码混乱。
但是如果你担心内存问题,那一定是一些很大的对象,比如Bitmap,你可以调用bmp.recycle()来帮助垃圾回收。

相关问题