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