Android效率和性能比较中的Hashmap与Bundle

时间:2011-07-13 06:12:44

标签: android performance

我想了解在Android程序中使用HashMapBundle对性能的影响。我了解Bundle是一个专门的Android组件 - 因此,如果需要简单地存储基本数据类型(HashMap s,Integer,它会优于String s等)而不是复杂的物体?

2 个答案:

答案 0 :(得分:1)

Bundle实际上建立在ArrayMap之上,这是Map s的内存效率实现。对于较小的ArrayMap,搜索比计算类似填充的HashMap的哈希计算时间更短。但如果你有超过几百个项目,HashMap将会表现更好。

此外,Bundle s并非设计为通用数据结构。

答案 1 :(得分:1)

Bundle 允许将String,integer,boolean等放入其中,但HashMap只允许使用字符串,对于其他人,您必须将它们转换为/从对象转换。

另一个区别是,对于Bundle,它包含的每个对象都是可以分配的。这允许Bundles用作服务参数,并附加到意图或片段以传递到活动或片段。