我在Android客户端中使用了改装2.x.在我的特殊情况下,我想要异步上传> 500个图片对象(实际上是文件)。
如果pictureList大小<50,那么上传所有这些文件都没问题。
for (Picture pic : pictureList) {
uploadPictureAsync(pic)
但是当大小超过100时,我的测试设备正在中止,并显示以下错误消息:
大对象分配失败:ashmem_create_region因大而失败 对象空间分配&#39;:打开文件太多
这似乎是由太多的异步请求引起的。
现在的问题是:我如何处理如此大量的请求?
答案 0 :(得分:0)
首先,确保您拥有Retrofit服务的单个实例(如果您使用它)(而不是每次需要进行调用时进行延迟实例化),您将获得“打开的文件太多”错误。
稍后,如果您需要上传此数量的图片,我建议您按照有关ThreadPoolExecutors的Android文档来管理使用BlockingQueue的异步调用。
https://developer.android.com/training/multiple-threads/create-threadpool.html