并发 Android 个网络请求

Concurrent Android network requests

我正在 Android 中构建一个片段,它显示保存在服务器上的一些数据。只要用户在此片段上,我想每隔 x 秒轮询一次服务器。此外,我想在用户离开此片段后停止此过程。这个问题的最佳解决方案是使用协程还是线程?感谢您的帮助!

轮询从来都不是一个好的选择,因为您将继续浪费资源,而服务器可能没有新数据可提供。但是,如果您仍然热衷于这样做,您可以使用任何选择,即协程和线程。在线程中,您必须自己管理它的生命周期,而在协程中,您不必担心任何事情,因为 CoroutineScope 会为您处理所有这些。使用 Coroutines 的一个动机是提供 operators,您可以在 flowsmapswitchMap 上使用。

更好的解决方案是使用 SNSfirebaseRemoteMessagingService 来通知您的应用程序客户端,然后您可以请求服务器。