我正在尝试在背景上按UIImage
分配NSData
。
let backgroundQueue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)
dispatch_async(backgroundQueue) {
let image = UIImage(data: data)
dispatch_async(dispatch_get_main_queue()) {
//displaying
}
}
但是我收到了消息:“NSAllocateMemoryPages(1907982)失败”
有人可以帮忙吗?
答案 0 :(得分:2)
可能没有那么多答案,但是评论太长了,所以我会在这里发布。
我在Apple Developer论坛上找到this post,其中一些可怜的灵魂有类似于你的问题。他/她收到的例外是:
*由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' * NSAllocateMemoryPages(18446744073709551615)失败'
他/她的回答是:
此消息表示有人试图分配大小为18446744073709551615的内存块。
在您的情况下,这必须意味着您(在尝试创建图像时)尝试分配大小为1907982的内存块。也许这太多了?你如何收到数据?它是什么?