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

Gen*_*zer 9 database io android dictionary

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

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

plo*_*man 19

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

  1. 即使是最不耐烦的用户,使用SQLite在android上进行数据库查找也"足够快"(~1ms)
  2. 在内存受限的环境(如android)中将大文件读入内存是一种危险的做法.
  3. 尝试从"就地"而不是"在内存中"读取文件中的条目实际上是在尝试解决SQLite已经为您解决的所有问题.

使用数据库时遇到的唯一挑战是使用您需要的数据初始化它.最好通过提前创建所需的数据库然后将其附加到APK资产来解决此问题.有一个例子这里说是相当不错的.

希望这可以帮助.