Android putExtra:我应该如何处理大型阵列?数据库还是拆分为更小的阵列?
我想知道以下哪一个想法能让句子更完整: 我有三个数组,有超过5000个条目。当我试图把它们放入额外的文件夹时,我变成了失败的活页夹事务:Android putExtra:我应该如何处理大型阵列?数据库还是拆分为更小的阵列?,android,arrays,database,android-bundle,android-binder,Android,Arrays,Database,Android Bundle,Android Binder,我想知道以下哪一个想法能让句子更完整: 我有三个数组,有超过5000个条目。当我试图把它们放入额外的文件夹时,我变成了失败的活页夹事务: 将这些大数组拆分为较小的数组,并通过putExtra将它们交给下一个活动 将这些条目保存到数据库并使用sqllite和游标 提前谢谢 我会选择第二种情况。想象一下,由于某些原因,您必须创建3个以上的数组,您真的会将它们拆分为更小的数组,修改代码并将它们传递给下一个活动吗?想象一下,现在您必须为另一个活动访问这些条目,您必须重新实现这些内容。这是不可维护的 我不
提前谢谢 我会选择第二种情况。想象一下,由于某些原因,您必须创建3个以上的数组,您真的会将它们拆分为更小的数组,修改代码并将它们传递给下一个活动吗?想象一下,现在您必须为另一个活动访问这些条目,您必须重新实现这些内容。这是不可维护的 我不认为这真的是明智的使用额外的东西。通过创建数据库,您将能够: 1-股票重要数据
2-随时随地访问它们
因此,我将在数据库中创建条目。我将使用第三个选项,其中部分使用了这两个选项
活动中访问。有人建议使用singleton,仅保留列表就可以了,但我更喜欢Application
或@Injected中的模型类
活动之间发送一个键
活动中从模型(或单例)检索数据时,请确保在进程终止后不会得到null,并从数据库中重新创建列表。我建议不要在UI线程上进行DB操作,让用户知道数据正在被重新创建,并将在几毫秒内出现
通过这种方式,您可以避免总是从数据库获取数据的开销,您的用户界面响应迅速,也不会进行太多的打包。使用第二种方法,额外功能不适用于大量数据。