如何在移动设备上管理大量数据

And*_*rew 16 c# algorithm indexing windows-phone-7 data-structures

我目前正在实施一本日语词典,并想了解如何以快速有效的方式查找条目.字典条目本身被加载并存储在一个类中,该类包含日语单词(可能具有多个拼写),它们的语音发音和英语定义为三个列表.

我最初有一个树结构,每个节点代表一个单词中的一个字符.这是非常快,但不幸的是使用了大量的内存.定义数据本身约为35meg,树结构本身约为130meg.此外,它也只允许从日语 - >英语查找.内存是一个问题,因为除了需要额外的索引之外,应该存在Windows Phone 7版本的应用程序.该词典包含150,000个条目.

总而言之,这就是我需要做的事情:存储定义列表在此列表中有三个索引用于日语,语音和英语含义.查找速度快(理想情况下小于1秒)使用尽可能少的内存(Windows Phone 7上的内存使用限制为90美元)

有任何想法吗?

Pau*_*sik 6

您应该考虑使用移动数据库或Web服务来处理移动设备上的大量数据.您正在寻找的性能,功能和管理类型很难在任何平台上获得,但您不必这样做.使用具有适当索引和表的数据库,本地或远程.

SQL CE不适用于WP7,但还有其他选项,商业和开源.此外,如果您希望经常连接并且可以稍微延迟,请考虑使用Web服务.您可以在通过Web服务呈现给您的中央服务器上使用任何选择的数据库.您的瓶颈是通信,但您可以从受限设备卸载大量处理.