目前我正在维护一个静态的Volley请求队列,如下所述:
Instantiating core Volley objects
private static RequestQueue mReqQueue;
每个应用程序应该只有一个静态请求队列吗?拥有多个人有什么危害?例如,如果我想要一个请求队列来处理Twitter请求,该怎么办?还有一个用于其他一切,如身份验证,图像检索等。
答案 0 :(得分:12)
我认为Ficus Kirkpatrick在his presentation on Volley的某个地方最佳地说,只有一个RequestQueue
。
如果您的大多数活动,服务和接收者都使用Volley,并且您在它们之间进行了大量切换,那么在RequestQueue
对象中定义单个Application
是有意义的,这样您就可以了不必在每个活动/服务/接收者RequestQueue
中实例化新的onCreate
。
但是,如果您有很多活动,并且仅针对其中一个请求使用Volley进行一次请求,那么您可能最好只在RequestQueue
中定义Activity
,或者它将在您不使用它的活动中实例化。这不应该损害功能,但可能会伤害记忆。
在排球用户组中,Ficus说:
RequestQueues非常便宜(大多数只是线程)。我们在应用程序中使用多个来分隔缓存。
这告诉我们,如果您需要单独的缓存,那么使用多个RequestQueues
也是一个有效的用例。