Android Volley 和 AsyncTask

Android Volley And AsyncTask

我一直在读到我们在使用 volley 时不需要使用 AsyncTask。不过我有一个问题,我的 activity 中的其中一个按钮单击会触发 HTTP 请求。现在如果我的应用程序关闭,volley 是否仍然能够处理该请求。

当我再次启动我的应用程序时,是否可以判断我之前的 HTTP 请求是否已发送。

响应会怎样?我能否捕捉到响应并可能进行一些数据库更新(应用本地)?

执行此类 http 请求的正确设计是什么?

此外,如果我想在应用程序未启动时发出一些 HTTP 请求,我可以不使用后台任务来完成所有这些吗?

您不需要为 Volley 使用 AsyncTask 或 Thread,因为 Volley 会为您完成。所以这是正确的。

当您说您的应用程序已关闭时 - 您是指该应用程序处于后台,还是该应用程序已终止?在第一种情况下,请求将继续。在第二个中,它不会,任何进入的响应都将在 OS 层被忽略,因为套接字上没有监听应用程序。还要记住,不在前台的应用程序可以随时被 OS 杀死。

您的应用未启动时无法发送 HTTP 请求。您可以在 JobScheduler 或 WorkManager 项目中执行此操作,但是随后您的应用程序启动了,您只是没有显示 UI.