【问题标题】:strategy for persisting data in blackberry app黑莓应用中持久化数据的策略
【发布时间】:2010-01-26 21:56:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: blackberry persistence datastore


    【解决方案1】:

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

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

    【讨论】:

    • 这是一个重要的区别。如果数据突然消失,将会造成很大的麻烦。如果有一个“卸载”事件将被发送到应用程序,然后它可以清理其数据,这将很有用。
    • RMS 数据确实会在重新启动后持续存在。
    • 谢谢理查德,我从答案中删除了那个不正确的陈述
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多