J2ME - 在添加记录时直接从 RecordStore 读取或将记录存储在 Vector 中,稍后从该向量中检索它们

Posted

技术标签:

【中文标题】J2ME - 在添加记录时直接从 RecordStore 读取或将记录存储在 Vector 中,稍后从该向量中检索它们【英文标题】:J2ME - Read directly from RecordStores or store records in a Vector as they're added and retrieve them from that vector later 【发布时间】:2014-06-22 22:09:01 【问题描述】:

您通常如何处理 RecordStore 中包含的数据:

    您是否总是在需要时直接“查询”RecordStore 履行 对其记录进行一些操作(搜索、排序等)或 您是否将这些记录“缓存”在向量或数组中,以便查询 稍后使用该向量或数组,而不是 RecordStore?

就个人而言,直到昨天我收到a nasty exception 时,我一直在使用第二种方法,提醒我内存是一种奢侈品,我们在开发 j2me 应用程序时应该非常小心:S 考虑到内存,现在我不确定保留数组是否是个好主意。 无论如何,我想听听你们的意见。毕竟你们有更多的经验。

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

这取决于记录的数量和每条记录的大小。

如果您已经使用 Vector 方法进行了 OOME,请尝试一次仅使用一个寄存器。

如果您的记录结构良好,您可以对其进行一些快速搜索。字符串搜索可能会更慢。

请记住,尽管 RMS 没有固定的最大大小,但建议您致电 RecordStore.getSizeAvailable 了解您可以在给定设备中存储多少信息。

这里有一个很好的 RMS 教程:http://www.ibm.com/developerworks/library/j-j2me3/

【讨论】:

以上是关于J2ME - 在添加记录时直接从 RecordStore 读取或将记录存储在 Vector 中,稍后从该向量中检索它们的主要内容,如果未能解决你的问题,请参考以下文章

J2ME 中的数据库

J2ME 中的命令问题

如何从 NetBeans 直接在移动设备上运行 J2ME 应用程序?

在 j2me 和 NetBeans 中运行相同代码时获得不同的输出

J2ME RMS - 打开/关闭记录存储的最佳实践?

J2ME InvalidRecordIDException 诺基亚 2700