【发布时间】:2020-04-26 19:37:06
【问题描述】:
我创建了一个演示来使用 Retrofit 从服务器获取数据列表。我有 50000 多条记录。
现在我已经实现了,
- 在 SearchView 中写入 3 个字符后调用 API
- 之后,在每个字符按下事件上调用 API。
我面临的一个问题:
- 加载项目太慢,
- 每次按键时都有过多的 API 请求(任何使其更有效的解决方案)
我听说过Retrofit Caching,这可能对我有帮助,但对它了解不多。
任何其他提高效率的解决方案。
【问题讨论】:
-
After that, call API on each character press event.,为什么?在发送请求之前,我会等到某种空闲时间。I have 50000+ records.分页? -
您可以使用 Kotlin Coroutines 进行搜索。
-
@Blackbelt 是的,一种方法是等待一段时间并调用 API。主要问题是我必须从 50k+ 条记录中搜索它
-
我认为我们有 RxJava。您可以在 RxJava 的帮助下同时完成所有工作。看看这篇文章medium.com/@kishankr.maurya/…
-
use
Filter: 文档说 “通过调用 filter(CharSequence) 或 filter(CharSequence, android.widget.Filter.FilterListener) 执行的过滤操作是异步执行的。当这些方法被调用时,过滤请求将发布到请求队列中并稍后处理。对这些方法之一的任何调用都将取消任何先前未执行的过滤请求。"
标签: android web-services caching search retrofit