主要内容
Android中由几个数据容器,你可以使用它们来生成更高的内存性能的应用。不要使用HashMap,可以考虑使用下列数据类型,当然,它也取决于你想要保存的数据类型:
- SparseArray 替代
HashMap <Integer, Object>
- SparseBooleanArray 替代
HashMap <Integer, Boolean>
- SparseIntArray 替代
HashMap <Integer, Integer>
- SparseLongArray 替代
HashMap <Integer, Long>
- LongSparseArray 替代
HashMap <Long, Object>
使用这些内置的类型要快一点,因为它们针对Android做过专门的优化。它们不申请内存,而且不自动保存键值。SparseArray
还是内存高效的,因为它们不像HashMap那样消耗过多。
你应该尽可能使用原始数组(int[]),而不是HashMap。这有助于提供性能,因为封装不需要执行字段查找。
附录
- Android Development Patterns-Best Practices for Professional Developers
- [美]Phil Dutson