Android - 字典文件。哪个更快,数据库或读取文件直接?

时间:2011-06-14 17:04:20

标签: android database dictionary io

我正在为Android制作一个字典应用程序。这个应用程序使用stardict和DICT文件,这些文件通常很大(10MB或更多)并且只包含纯文本。

当用户查找单词时,我的应用程序将随机读取该文件并返回结果。我读过一些文章,认为阅读文件既昂贵又缓慢。所以我想知道是否将所有数据都带入数据库是一个更好的解决方案?

1 个答案:

答案 0 :(得分:19)

我建议将您的文字放入数据库中,原因如下:

  1. 即使是最不耐烦的用户,使用SQLite在Android上进行数据库查找“足够快”(~1ms)
  2. 在内存受限的环境(例如android。)中将大文件读入内存是一种危险的做法。
  3. 尝试从“就地”而不是“在内存中”读取文件中的条目有效地试图解决SQLite已经为您解决的所有问题。
  4. 使用数据库时遇到的唯一挑战是使用您需要的数据对其进行初始化。最好通过提前创建所需的数据库然后将其附加到APK资产来解决此问题。有一个例子here非常好。

    希望这有帮助。