我是Volley Networking库的新手,面临此问题java.lang.OutOfMemoryError:pthread_create(1040KB堆栈)失败:重试

时间:2018-10-08 07:41:16

标签: kotlin android-volley

  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)


    }
}

我要声明一个单例齐射请求处理程序类并在任何地方访问它,但是问题是在惰性对象内部调用后如何使请求为空?

1 个答案:

答案 0 :(得分:1)

我意识到我对这个问题有点迟了,但这是我的2美分价值:

我看到您实际上并没有初始化INSTANCE对象,因此每次访问getInstance方法时,您都在使用应用程序上下文创建一个新队列,这就是为什么您可能会遇到内存不足错误的原因,因为初始化请求队列需要大量的内存

相关问题