我有一个Android应用程序,我需要为不同的iot设备维护多个凌空请求队列。我的应用需要在单独的请求队列中与每个iot设备通信,以便更快地响应。但是因为我为每个新的iot设备对象创建了新的请求队列,我的应用程序将耗尽内存。
pthread_create failed: couldn't allocate 1069056-bytes mapped space: Out of memory
我想清除前一个请求队列所占用的内存..是否有可能?
我也试图清除调用占用的内存
requestqueue.stop()
但它没有帮助,我仍然会得到相同的错误,应用程序会崩溃。
只需使用AsyncTask中的所有请求,也许它会对你有所帮助
您可以尝试的一件事是使用下面的代码清除先前创建的排球请求队列的缓存对象
AppController.getInstance().getRequestQueue().getCache().clear();
最优选的用例如下:
更常见的用例是将RequestQueue创建为单例,以使其在应用程序的生命周期内保持运行,如下一节所述
您可以查看android开发者网站以获取更多信息。
RequestQueue que= new RequestQueue(new NoCache(),new BasicNetwork(new HurlStack()));
只是使用这个,希望这会帮助你... :)