【发布时间】:2016-09-20 21:09:24
【问题描述】:
我在我的 Android 客户端中使用改造 2.x。在我的特殊情况下,我想异步上传>500个图片对象(实际上是文件)。
如果图片列表大小
for (Picture pic : pictureList) {
uploadPictureAsync(pic)
但是当大小超过 100 时,我的测试设备将中止并显示以下错误消息:
大对象分配失败:ashmem_create_region failed for 'large 对象空间分配':打开的文件太多
这似乎是由于异步请求过多造成的。
现在的问题是:如何处理如此庞大的请求?
【问题讨论】:
-
你发现了吗?我目前正在做类似的事情。我想我必须在每个异步任务的回调方法上创建异步任务
-
抱歉回复晚了。我认为问题在于我在多个 AsyncTask 实例中同时推送所有请求,这对设备来说太多了。所以我改变了它(同时用 IntentService 而不是 AsyncTask )上传一个文件 - 等待响应 - 当响应到达时,上传下一个文件。所以它不再是并行的,而是顺序的。
标签: java android http retrofit retrofit2