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)
}
}
我正在声明一个单例凌空请求处理程序类并在任何地方访问它,但问题是如何在懒惰内部调用后使请求为空?
我意识到我对这个问题有点晚了,但这是我的 2 美分价值:
我看到您实际上并没有初始化您的 INSTANCE 对象,因此每次访问 getInstance 方法时,您都在使用应用程序上下文创建一个新队列,这就是为什么您可能会遇到内存不足错误的原因,因为初始化请求队列会占用大量内存