Java 通过意图发送一个非常大的列表
我有一个非常大的列表,我想通过一个意向发送它。 我不断得到:Java 通过意图发送一个非常大的列表,java,android,Java,Android,我有一个非常大的列表,我想通过一个意向发送它。 我不断得到: FAILED BINDER TRANSACTION !!! (parcel size = 1959784) 我的列表中有5720个对象,我在网上做了一些研究,上面说要把列表分成小块。所以,我这样做了:(得到了同样的错误) 您也可以将数据转换为单例,但我从未处理过单例,因此我不知道执行此操作的正确步骤 如果有人对如何通过intent传递超大数据集有见解,请让我知道 Singleton只是一个只创建一次的类。也就是说,您可以使用
FAILED BINDER TRANSACTION !!! (parcel size = 1959784)
我的列表中有5720个对象,我在网上做了一些研究,上面说要把列表分成小块。所以,我这样做了:(得到了同样的错误)
您也可以将数据转换为单例,但我从未处理过单例,因此我不知道执行此操作的正确步骤
如果有人对如何通过intent传递超大数据集有见解,请让我知道 Singleton只是一个只创建一次的类。也就是说,您可以使用
getInstance()
或类似的方法,仅当实例为空时才会创建实例
然后,您可以在应用程序类中保留对singleton对象的引用(或者如果您使用DI,则创建一个singleton提供程序)
您可以将
List yourList
添加到singleton类中,并在源代码中执行类似于App.getyoursingletonistance().saveData()
的操作,然后在目标中执行App.getyoursingletonistance().getData()
,然后可以清除它。愉快的编码。这可能有助于简化技巧,使用GSON将列表设置为字符串。现在将字符串从一个活动传递到另一个活动。。。
intent.putExtra("cards1", list1);
intent.putExtra("cards2", list2);
intent.putExtra("cards3", list3);
intent.putExtra("cards4", list4);