gpt4 book ai didi

android - 哪种方式更适合将大量数据从一个 Activity 传递到另一个 Activity - android?

转载 作者:行者123 更新时间:2023-12-05 00:14:19 25 4
gpt4 key购买 nike

我需要将大量数据从一个activity 传递到另一个activity,哪种方式更好?

第一种方式(举例):

ArrayList<myModel> myList = new ArrayList<myModel>();
intent.putExtra("mylist", myList);

第二种方式(举例):

ActivityTwo act = new ActivityTwo();
act.getDataMethod(listValues);
Intent i = new Intent(this, ActivityTwo.class);
startActivity(i);

在另一个 activity(ActivityTwo) 中,我从 getDataMethod 获取数据。

最佳答案

如果您要发送的数据非常大(大约 1MB)。传递它的最好方式是在 ActivityA 中将其存储在持久存储中,并在 ActivityB 中访问它。

通过 Parcerable/Serializable 传递它的方法是有风险的,因为当您尝试传递大约 1MB 的数据时,您可能最终会遇到 TransactionTooLargeException

通过 Singleton 类传递它的方法更糟糕,因为当您在 ActivityB 中并重新创建应用程序(它在后台很长时间/内存很低)时,您将从单例中丢失数据(重新创建进程)并且没有人会设置它,ActivityB 将被启动,它不会有来自 AcitvityA 的数据(因为它从未被创建)。

一般来说,你不应该通过 Intent 传递数据,你应该传递参数/标识符,然后你可以使用它们从数据库/网络/等中获取数据。

关于android - 哪种方式更适合将大量数据从一个 Activity 传递到另一个 Activity - android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41976522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com