我正在使用谷歌API - 在AutoCompleteTextView
中自动填充位置的地方。我做了几次测试,可能有20次搜索,在我的google开发者的个人资料中,我写了200个API请求。
据我所知,每次输入内容或编辑打印文本时都会发出请求。但有没有办法减少对服务器的调用量?
其中一个想法是将阈值定义为3个字符。
答案 0 :(得分:1)
我认为减少对Places API调用次数的更好实现方法是在最后一次按键后延迟0.75秒。这样可以避免用户在输入3个字母后看到自动完成后坐下来等待输入第5个字符后出现混淆。
答案 1 :(得分:1)
如果你没有找到更好的解决方案(我知道它已经很晚了,但我做的事情很相似,我在这里发现了自己。)
我认为您可以“缓存”以前的结果,将它们放在ArrayList中。然后在调用performFiltering的适配器中,首先检查Arraylist中的结果,如果收到许多类似的项,请不要向API发出请求。我不确定它是否清楚,但你至少可以保存这样的几个请求,而对于用户方,自动完成总是令人耳目一新。
我希望它有所帮助。