2010-06-07 21 views
0

我有一個動畫在模擬器中正常工作,但在設備上崩潰。我收到以下錯誤...iPhone應用程序內存泄漏與UIImage動畫?問題在設備上測試

編程接收信號:「0」。 調試器由於信號10(SIGBUS)而退出

有點調查表明UIImages沒有被釋放,並且我有內存泄漏。我是新手,所以有人可以告訴我這是否可能是因爲這個原因?如果你也可以告訴我如何解決這個問題,那就太棒了。

圖像是480px x 480px和大約25kb每個。我的代碼如下...

NSArray *rainImages = [NSArray arrayWithObjects: 
          [UIImage imageNamed:@"rain-loop0001.png"], 
          [UIImage imageNamed:@"rain-loop0002.png"], 
          [UIImage imageNamed:@"rain-loop0003.png"], 
          [UIImage imageNamed:@"rain-loop0004.png"], 
          [UIImage imageNamed:@"rain-loop0005.png"], 
          [UIImage imageNamed:@"rain-loop0006.png"], 
          //more looping images 
          [UIImage imageNamed:@"rain-loop0045.png"], 
          [UIImage imageNamed:@"rain-loop0046.png"], 
          [UIImage imageNamed:@"rain-loop0047.png"], 
          [UIImage imageNamed:@"rain-loop0048.png"], 
          [UIImage imageNamed:@"rain-loop0049.png"], 
          [UIImage imageNamed:@"rain-loop0050.png"], 
          nil]; 


    rainImage.animationImages = rainImages; 
    rainImage.animationDuration = 4.15/2; 
    rainImage.animationRepeatCount = 0; 
    [rainImage startAnimating]; 
    [rainImage release]; 

感謝

回答

0

我敢肯定你崩潰,因爲[NSArray的arrayWithObjects:]返回一個你存儲到rainImage自動釋放的對象。然後在底部再次釋放rainImage,從而釋放它。

+0

我試過刪除發佈聲明,但這並沒有什麼區別。上面的鏈接表明它使用imageNamed這是我的問題。感謝這個問題,但是:-) – user157733 2010-06-07 21:09:48

0
+0

感謝看起來像是這個問題。我很新,但實施起來很困難。我會用[self thumbnailImage:@「rain-loop0001.png」]替換每個[UIImage imageNamed:@「rain-loop0001.png」](當然在添加函數和字典之後)?我不會收到錯誤,但我的動畫不會運行... – user157733 2010-06-07 21:08:46