0

我想知道以下想法中的哪些内容会产生更多的句子:

我有三个超过 5'000 个条目的数组。当我尝试将它们放入 Extra 时,我变成了 FAILED BINDER TRANSACTION:

  1. 将这些大数组拆分成更小的数组,并通过 putExtra 将它们提供给下一个活动

  2. 将这些条目保存到数据库并使用 sqllite 和游标?

提前致谢!

4

2 回答 2

0

我会选择第二种情况。想象一下,由于某些原因,您必须创建超过 3 个数组,您真的会将它们拆分成更小的数组,修改将它们传递给下一个活动的代码吗?想象一下,现在您必须访问此条目以进行另一个活动,您将不得不重新实现这些东西。这是不可维护的。

我不认为为这些东西使用额外的东西真的很明智。通过创建数据库,您将能够:

1 - 存储重要数据
2 - 随时随地访问它们

所以我会在数据库中创建条目。

于 2013-05-16T11:41:08.683 回答
0

我会选择第三个选项,它部分使用两者。

  1. 如果您觉得数据对您的应用有用,请保留数据(例如,在数据库中)。从 web 服务下载它时,在解析之后并在将其提供给 UI 线程之前执行此操作。
  2. 为可以从两者访问的列表创建内存缓存Activities。有些人建议单例,这可能只是保存列表,但我更喜欢模型类Application或@Injected。
  3. 如果有很多这样的列表,有时您想发送不同的列表,请在Activities.
  4. 在第二次从模型(或单例)中检索数据时,请Activity确保在进程被终止并从 DB 重新创建列表后您不会得到 null。我建议不要在 UI 线程上进行 DB 操作,并让用户知道正在重新创建数据并将在几毫秒内出现。

这样你就可以避免总是从数据库中获取数据的开销,你的 UI 是响应式的,也不会做太多的打包工作。

于 2013-05-16T11:59:53.810 回答