我正在维护约200件物品的地图。它会导致内存不足异常吗?将大数据200+或500多个项目存储在Map中以避免从网络或Sqlite加载是一种好习惯吗?
下面是我的应用程序堆大小,是正常还是占用大量内存?
答案 0 :(得分:1)
如果您通过使用HashMap而害怕OOM,可以尝试SparseArray或ArrayMap。
SparseArray:
与使用HashMap将Integers映射到Objects相比,它的内存效率更高,因为它避免了自动装箱键,并且其数据结构不依赖于每个映射的额外条目对象。
ArrayMap:
ArrayMap是一个通用的key->值映射数据结构,旨在提高内存效率,而不是传统的HashMap