簡體   English   中英

從后台返回后,我的iPhone應用程序崩潰了。 原因:UIImage問題

[英]My iPhone app crashes after returning from background. Cause: UIImage problem

首先,我想說這個網站真棒! 它幫助我在創建iPhone應用程序時做了很多事情。

現在,我的問題是:

啟動應用程序時,我有一個UIImageView,它根據其中的if / else語句加載圖像

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

方法。 這些圖像分配如下:

BG.image = someImage;

當然,BG是UIImageView,someImage是具有@ property,@ synthesis的iVar。 使用viewDidLoad中主包中的圖像初始化someImage:

- (void)viewDidLoad {

//init stuff from file
someImage = [UIImage imageNamed:@"FirstViewBG_5N.png"];

[super viewDidLoad];}

我的應用程序運行愉快,根據touchBegan(如上所述)加載圖像,但是!

當我的應用發送到后台並返回時,它在第一次觸摸時崩潰。

當我更換時:

BG.image = someImage

與:

BG.image = [UIImage imageNamed:@"FirstViewBG_5N.png"];

它運行愉快嗎? 我認為someImage已刷新或損壞?

我不想這樣保留它,因為imageNamed方法每次都從磁盤讀取數據,這會導致性能問題,我認為呢?

我想我的問題很清楚嗎? 就是它:

1-為什么我的應用程序從backgroud返回后會崩潰2-如何解決此問題?

感謝您的幫助! 謝謝!

“ someImage”被釋放。 保留它

  1. 可能是因為該圖像已發布。 UIImage類中的imageNamed方法不會為someImage變量返回+1引用計數,因此您不擁有該變量。
  2. 假設someImage是具有remove的屬性:self.someImage = [UIImage imageNamed:@“ FirstViewBG_5N.png”];

ps小心釋放dealloc;)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM