Android:在垃圾回收方面,HashMap vs WeakHashMap vs SparseArray
Android: HashMap vs WeakHashMap vs SparseArray in terms of garbage collection
在 Java 中,指定为键的 HashMap
对象不符合垃圾回收条件。指定为键的 WeakHashMap
对象仍然符合垃圾回收条件
我的问题是 Android,SparseArray
在垃圾回收方面的行为是什么?是更像 HashMap
还是更像 WeakHashMap
A SparseArray
与 Map<Integer, Object>
的工作方式非常相似。
主要区别在于它不会转换或自动装箱任何内容,并且它使用二进制搜索来查找条目而不是哈希查找。
里面的引用都是强引用,像Java中的大多数一样。
如果您愿意,可以将 WeakReference
存储在 SparseArray
中,就像存储任何其他 Object
.
一样
在 Java 中,指定为键的 HashMap
对象不符合垃圾回收条件。指定为键的 WeakHashMap
对象仍然符合垃圾回收条件
我的问题是 Android,SparseArray
在垃圾回收方面的行为是什么?是更像 HashMap
还是更像 WeakHashMap
A SparseArray
与 Map<Integer, Object>
的工作方式非常相似。
主要区别在于它不会转换或自动装箱任何内容,并且它使用二进制搜索来查找条目而不是哈希查找。
里面的引用都是强引用,像Java中的大多数一样。
如果您愿意,可以将 WeakReference
存储在 SparseArray
中,就像存储任何其他 Object
.