1

我一直在浏览 Blackberry 文档,它们概述了 3 种不同的应用程序数据持久化机制:

  1. 持久存储 API
  2. MIDP RMS API
  3. 文件系统 API

我想知道以下的事情......

  1. 每种方法的优缺点是什么
  2. 是否有可以存储的最大数据大小?我不太关心单个对象的大小,而不是总大小。例如,持久存储曾经有 64K 的限制,但在最新版本的软件中已扩展到数 MB。但是,我找不到有关可以存储的最大尺寸的任何详细信息。
  3. 其中一种方法是否被认为是持久化数据的“最佳方式”?
  4. 任何人都会建议的任何其他持久性机制(例如 SQL-Lite)?
4

2 回答 2

2

我们使用持久存储 API,因为它是真正持久的,即使在设备重新启动时也是如此。事实上,它几乎太持久了,因为当应用程序被删除时,你的持久数据不会从设备中删除(我认为除非你持久化自定义对象)。存储空间仅限于可用闪存 - 没有每个应用程序的配额。

编辑:删除了关于 RMS 的不准确评论

于 2010-01-27T18:32:27.133 回答
0

RMS 的问题在于,数据通常(但并非总是)不会在应用程序升级期间持续存在。因此,如果您使用 RMS,用户可能必须在每次升级到新的构建/版本时重新配置您的应用程序。这可能是也可能不是问题。

恕我直言,最好的方法是持久存储(如果您不介意代码签名),否则它的 RMS。需要记住的一件事是,虽然 PS 看起来要简单得多,但让持久数据对应用程序更改具有鲁棒性会使它再次变得复杂。这就是我将配置数据类与实际持久化的类分开的原因。

现在,如果您希望文件式大容量存储比缓存或配置对象更重要,您可能需要查看 FileConnection API。这为您提供了更多潜在的存储空间来使用。

于 2010-02-26T22:39:15.930 回答