按数据创建UIImage时崩溃

时间:2016-06-09 07:05:18

标签: ios swift memory

我正在尝试在背景上按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)失败”

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

可能没有那么多答案,但是评论太长了,所以我会在这里发布。

我在Apple Developer论坛上找到this post,其中一些可怜的灵魂有类似于你的问题。他/她收到的例外是:

  

*由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' * NSAllocateMemoryPages(18446744073709551615)失败'

他/她的回答是:

  

此消息表示有人试图分配大小为18446744073709551615的内存块。

在您的情况下,这必须意味着您(在尝试创建图像时)尝试分配大小为1907982的内存块。也许这太多了?你如何收到数据?它是什么?