我有一个列表对象,它包含有关1相册中的1张照片的信息。
@Parcelize
data class MediaFileModel(
var uri: Uri,
var name: String,
var bucketId: Long = 0,
var bucketName: String = "",
var duration: String = "",
var length: Double = 0.0,
var albumId: Long = 0,
var songAlbum: String = "",
var pathFile: String = "",
var id: Long = 0
) : Parcelable
如何尽可能优化地将其从一个活动转移到另一个活动?通过Parcelable传递或创建一个Singleton类来存储它,或者有更好的方法吗?谢谢
在咨询ChatGPT的更多内容时,我看到也可以使用JSON来传输数据,但这3种方式之间的性能如何以及内存泄漏的可能性?
1条答案
按热度按时间ecfdbz9o1#
Parcelable应该是高效传递少量数据的最佳实践。原因如下:
Intent
中添加了新方法getParcelableArrayListExtra,以使用Parcelable而无需强制转换类类型。是的,我们知道他们反对这么多的类和方法,如果需要的话,但不是这一个,对吗?在
IntentCompat
类中也有androidx对Parcelable的支持。