Android在活动之间传递大对象的最佳实践?

时间:2019-07-10 20:20:45

标签: android android-intent kotlin sharedpreferences parcelable

我想在两个活动之间传递一个大对象(可拆分),最佳做法是什么?由于Parcelable的限制,我无法使用Intent:

android.os.TransactionTooLargeException: data parcel size 1002388 bytes

那么,最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

最佳做法是不通过活动或碎片事务传递整个对象。更好的方法是将文件保存到数据库或任何本地文件夹中,然后将指向对象的链接(从数据库或URI到文件的ID)传递给Acitvity / Fragment。

val intent = Intent(this, MainActivity::class.java)
intent.putExtra(EXTRA_KEY_FILE_ID, fileId)
startActivity(intent)