大型HashMap会导致Android内存不足吗?

时间:2016-12-22 05:26:12

标签: java android performance android-memory

我正在维护约200件物品的地图。它会导致内存不足异常吗?将大数据200+或500多个项目存储在Map中以避免从网络或Sqlite加载是一种好习惯吗?

下面是我的应用程序堆大小,是正常还是占用大量内存?

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您通过使用HashMap而害怕OOM,可以尝试SparseArrayArrayMap

SparseArray:

  

与使用HashMap将Integers映射到Objects相比,它的内存效率更高,因为它避免了自动装箱键,并且其数据结构不依赖于每个映射的额外条目对象。

ArrayMap:

  

ArrayMap是一个通用的key->值映射数据结构,旨在提高内存效率,而不是传统的HashMap