Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-字典文件。哪个更快,数据库还是直接读取文件?_Android_Database_Dictionary_Io - Fatal编程技术网

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

Android-字典文件。哪个更快,数据库还是直接读取文件?,android,database,dictionary,io,Android,Database,Dictionary,Io,我正在为android做一个字典应用程序。这个应用程序使用stardict和DICT文件,这些文件通常相当大(10MB或更大),并且只包含纯文本 当用户查找单词时,我的应用程序将随机读取文件并返回结果。我读过一些文章,说读取文件既昂贵又缓慢。因此,我想知道将所有数据放入数据库是否是更好的解决方案?我建议将您的话放入数据库,原因如下: 即使是最不耐烦的用户,使用SQLite在android上进行DB查找也“足够快”(约1ms) 在android等内存有限的环境中,将大文件读入内存是一种危险的做法

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


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

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

  • 即使是最不耐烦的用户,使用SQLite在android上进行DB查找也“足够快”(约1ms)
  • 在android等内存有限的环境中,将大文件读入内存是一种危险的做法
  • 尝试“就地”而不是“内存”从文件中读取条目实际上是在试图解决SQLite已经为您解决的所有问题
  • 使用数据库的唯一挑战是使用所需的数据初始化数据库。通过提前创建所需的数据库,然后将其附加到APK资产,可以最好地解决此问题。有一个很好的例子


    希望这有帮助。

    对您来说,开发的速度和易用性更重要吗?您可能能够以同样快的速度编写一些内容,或者使用“插值搜索”更快地编写一些内容,但您需要更长的时间来实现。我的目标是尽可能快地将结果返回给用户。谢谢你的算法,我会看一看。