2016-06-09 228 views
0

我試圖在背景上通過NSData分配UIImage通過數據創建UIImage時發生崩潰

 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)失敗」

有人可以幫忙嗎?

回答

2

與其說是一個答案,不如說是一個提示,但對於評論來說太長了,所以我會在這裏發表。

我在蘋果開發者論壇上發現this post有些可憐的靈魂有類似於你的問題。他/她收到的例外是:

*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: '* NSAllocateMemoryPages(18446744073709551615)失敗'

而答案給他/她是:

此消息表示有人試圖分配大小的存儲器塊18446744073709551615.

在你的情況,這意味着你(試圖創建一個圖像)試圖分配一個1907982大小的內存塊。也許這太多了?你如何獲得這些數據?它是什麼?