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

5

我想了解在Android程序中使用HashMapBundle的性能影响。我知道Bundle是一个专门的Android组件 - 如果只需要存储基本数据类型(如IntegerString等),而不是复杂对象,那么它是否比HashMap更优秀呢?


3
这可能会对你有所帮助。https://dev59.com/nG025IYBdhLWcg3wEhjr(注意:这是一条翻译指令,不是需要翻译的内容) - VenoM
2
这回答解决了你的问题吗?Android:Bundle与java.util集合(如HashMap)之间有什么区别? - Jeff Padgett
2个回答

2

Bundle其实是基于ArrayMap构建的,而ArrayMapMap的内存高效实现。对于较小的ArrayMap,搜索所需的计算时间比为类似数量的HashMap计算哈希值所需的时间少。但如果其中有超过几百个项目,则HashMap的性能更好。

此外,Bundle并不是设计成通用数据结构的。


0

Bundle 允许将 String、整数、布尔等置于其中,但是 HashMap 只允许字符串,对于其他类型的数据需要进行对象转换。

另一个区别是,使用 Bundle 包装的每个对象都可以被序列化(Parcelable)。这使得 Bundle 可用作服务参数,并附加到 Intent 或 Fragment 中以传递到活动或片段中。


HashMap不仅仅可以存储字符串。只要在声明引用时定义正确的类型,就可以将任何对象存储到HashMap中。 - cincy_anddeveloper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接