我正在尝试另外创建一个Intent
的{{1}}。
所以我有3种选择:
ArrayList<Byte>
putParceableArrayList(key: String?, value: ArrayList<out Parceable!>?)
putByteArray(key: String?, value: ByteArray?)
我不希望使用第3个选项,因为Parceable对象比Serializable对象(Android: Difference between Parcelable and Serializable?)更快。
放弃此选项,我想使用第一个选项,因为我需要将此对象作为ArrayList而不是本机数组putSerializable(key: String?, value: Serializable?)
(在Kotlin上为bytes[]
)。
问题在于Byte对象是本机对象,因此它不实现Parceable。因此,我不能使用第一个选项,因为它需要ByteArray
。
我发现,最好的选择是将ArrayList<out Parceable>
转换为ArrayList
并在拆包时将其转换回ByteArray
,如下所示:
ArrayList
哪个是最佳选择?谢谢!