2010-01-26 49 views
1

我一直在寻找通过黑莓的文档,他们勾勒出3个不同的机制,坚持应用程序数据:策略在黑莓应用程序的持久化数据

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

我想了解一下下面的事情...

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

回答

2

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

编辑:删除不正确的评论有关RMS

+0

这是一个重要的区别。如果数据突然消失,会造成很大的麻烦。 如果有一个“卸载”事件发送到应用程序,它可能会很有用,然后清理它的数据。 – yamspog 2010-01-27 18:39:35

+0

RMS数据确实在重新启动后仍然存在。 – Richard 2010-01-27 18:42:15

+0

谢谢理查德,我从答案中删除了错误的陈述 – 2010-01-27 21:09:11

0

与RMS的问题是,该数据通常(但并不总是)不会在应用升级持续。因此,如果您使用RMS,则用户每次升级到新版本时都可能需要重新配置应用程序。这可能或可能不是一个问题。

恕我直言,最好的方式是永久存储(如果你不介意代码签名),否则它的RMS。有一点需要记住的是,尽管PS看起来简单得多,但是对应用程序更改使持久数据更加健壮,这使得它再次变得复杂。这就是为什么我将配置数据类与实际持久保存的类分开的原因。

现在,如果你想要的文件风格的东西有点比高速缓存或配置对象较大幅度的海量存储,你可能想看看FileConnection API将。这为您提供了更多可用的存储空间。