AFNetworking Error Domain= NSPOSIXErrorDomain代码= 12“该操作无法完成。无法分配内存
-
28-10-2019 - |
题
我正在通过AfNetworking将许多图像文件发送到Rails服务器。在有时甚至是3G的情况下,我都会收到以下错误消息:Error Domain= NSPOSIXErrorDomain Code= 12“操作无法完成。无法分配内存。”
这是我用来发送文件的代码: https://gist.github.com/cc5482059ae3023bdf50
有没有办法解决这个问题?
在线有人建议一种解决方法是流式传输文件。我没有找到有关使用AFNetworking流化多个文件的教程。我该怎么办?
解决方案
图像有多大?您要发送多少?
我似乎找不到一种简单的方法来使用NSInputStream
来实现AFNetworking
,但是绝对应该尝试一件事,即避免将大对象放入自动释放池中。当您创建一个大型NSData实例时,它们会插入for循环,并且这些实例将进入自动释放池,只要循环持续,所有内存将一直存在。这是优化它的一种方法:
通用标签
或者,如果您使用的是LLVM3: 通用标签
其他提示
我知道问这个问题已经有一段时间了,但是我只需要在这件事上给我两分钱。
在一周的大部分时间里尝试找出这些东西后,这就是我现在所在的位置:
- 在运行iOS 5.1.1的旧版iPhone 4上,我遇到了这个问题
- 似乎无法在运行相同iOS 5.1.1的未爆炸的iPhone 4S上重现它
可能是由于电话硬件本身的网络故障,或者可能是因为需要限制带宽(或者仅仅是NSURLConnection中的一个错误):
http://aws.amazon.com/articles/0006282245644577
https://forums.dropbox.com/topic.php?id=25351
POSIX错误12(“无法分配内存”),从iPhone上传文件
我本来应该转为ASIHTTPRequest,但是不再维护,因此现在值得实现。也许我仍然应该尝试AFNetworking,但是我真的开始认为这是iOS中已经解决的问题(或者在我看来可能是劣质iPhone)。
但是我无法终生找到对此的简单解释。