Bundle(底层为ArrayMap实现)与HashMap的区别
Android中数据传递数据一般都是用Bundle而不是HashMap
Bundle的优势
<1>从源码来看,Bundle底层实现是ArrayMap,ArrayMap适合于小数据量操作,如果在数据量比较大的情况下,它的性能将退化。HashMap的内部则是数组+链表结构,所以在数据量较少的时候,HashMap的Entry Array比ArrayMap占用更多的内存。而使用Bundle的场景大多数为小数据量。所以使用ArrayMap实现更合适。
<2>Android中如果使用Intent来携带数据的话,需要数据是基本类型或者是可序列化类型,Bundle使用Parcelable进行序列化,而HashMap则是使用Serializable进行序列化,Parcelable性能是优于Serializable的