class RequestQueueClass constructor(context: Context) {
companion object {
@Volatile
private var INSTANCE: RequestQueueClass? = null
fun getInstance(context: Context) =
INSTANCE ?: synchronized(this) {
INSTANCE ?: RequestQueueClass(context)
}
}
val requestQueue: RequestQueue by lazy {
// applicationContext is key, it keeps you from leaking the
// Activity or BroadcastReceiver if someone passes one in.
Volley.newRequestQueue(context.applicationContext)
}
fun <T> addToRequestQueue(req: Request<T>) {
requestQueue.add(req)
}
}
我要声明一个单例齐射请求处理程序类并在任何地方访问它,但是问题是在惰性对象内部调用后如何使请求为空?
答案 0 :(得分:1)
我意识到我对这个问题有点迟了,但这是我的2美分价值:
我看到您实际上并没有初始化INSTANCE对象,因此每次访问getInstance方法时,您都在使用应用程序上下文创建一个新队列,这就是为什么您可能会遇到内存不足错误的原因,因为初始化请求队列需要大量的内存