Android 静态ArrayList还是可序列化捆绑包?

Android 静态ArrayList还是可序列化捆绑包?,android,android-fragments,arraylist,static,android-bundle,Android,Android Fragments,Arraylist,Static,Android Bundle,我有一个Android应用程序,它使用一个带有多个片段的导航抽屉活动。该活动从RESTAPI获取JSONObject,并将其转换为自定义对象的ArrayList 这些自定义ArrayList在多个片段中使用,其中一些片段正在被修改,一些片段仅用于显示。我的应用程序目前将这些ArrayList作为静态对象,并将它们导入必要的片段中,但我知道这可能不是实现这一点的最佳方法 我应该继续使用静态ArrayList,还是在创建片段时将ArrayList以捆绑方式传递?当然,如果有更好的建议,我们也将不胜感

我有一个Android应用程序,它使用一个带有多个片段的导航抽屉活动。该活动从RESTAPI获取JSONObject,并将其转换为自定义对象的ArrayList

这些自定义ArrayList在多个片段中使用,其中一些片段正在被修改,一些片段仅用于显示。我的应用程序目前将这些ArrayList作为静态对象,并将它们导入必要的片段中,但我知道这可能不是实现这一点的最佳方法


我应该继续使用静态ArrayList,还是在创建片段时将ArrayList以捆绑方式传递?当然,如果有更好的建议,我们也将不胜感激。

您应该使用bundle,因为每次从REST api获取arraylist都需要时间,并且当您可以传递数据时,无需反复从REST api获取数据。不需要RESTAPI就访问RESTAPI是不好的做法。而且它还可以节省您在每个片段中编写相同代码的时间。

我知道,如果您的应用程序中发生任何应用程序关闭,myapp中的静态变量都是明确的。@AndroidSurya我不确定您的意思,在myapp中使用静态变量可能会遇到问题,所以使用Bundle如果您的应用程序目标API级别为25,传递
捆绑包中的列表可能会导致
TransactionTooLarge
异常:@Nerd是有意义的。你建议我改为使用静态ArrayList吗?实际上,我只使用RESTAPI一次(使用活动的onCreate)。只需在片段中引用这个新形成的ArrayList,那么您应该使用静态ArrayList,因为bundle传递数据的能力有限,如果数据太大,bundle就会产生问题。如本文所述,线束限制为500kb