在我的 Android 应用程序中,我想要一个带有自动完成功能的输入字段。项目数约为 300000。最好的解决方案似乎是将项目放入一个文件(在 sdcard 上),每行一个项目,每行具有相同数量的字符,以便我可以寻找特定的行号. 如果用户在文本字段中输入内容,我将二进制搜索(通过 RandomAccessFile)文件并显示建议。
我希望自动完成速度非常快(最好在 100 毫秒以下,但我想这是不可能的),我可以做哪些优化?
更新 1: 我会将用户输入转换为带空格的小写英文字符 (az)。所以 'A/b' 会被转换成 'a b' 然后被搜索。
Uodate 2: 我现在意识到我需要额外的东西 - 搜索以单词开头的子字符串。