在某些设备上,我的Volley请求队列不会运行我添加到队列中的所有网络请求。我尝试了两种方法,接近一种方法:
1)一种递归方法,在前一个请求的onResponse
方法中调用后续网络请求。
启动此递归的服务在完成之前被系统杀死,但在某些设备上,Volley请求队列仍然可以完成此方法。在其他设备上,只有一个网络请求,后续的请求不是。
2)for循环,其中所有请求对象在其中任何一个进行网络呼叫之前被添加到请求队列。
在某些设备上,请求队列仍然表现得像我想要的那样,在其他设备上它是命中或未命中。
我使用单例来维护我的请求队列,所以这不应该与被系统销毁的IntentService
有关
洞察力
答案 0 :(得分:2)
如果使用IntentService
,则handleIntent
方法返回时会立即销毁它。如果此时你的应用程序没有运行,你的单身人士就会消失。
由于Volley为你处理异步,所以你不需要IntentService
。
使用START_STICKY
作为回报的标准服务,并在完成请求后不要忘记stopSelf
。