關於UIImage類的對象兩種初始化方法的區別,uiimage初始化

來源:互聯網
上載者:User

關於UIImage類的對象兩種初始化方法的區別,uiimage初始化
1、imageNamed:

1 UIImage *image = [UIImage imageNamed:@"1"];

 UIImage的類方法

  第一次讀取圖片的時候,先把這個圖片放到緩衝中,下次再使用這個名字的圖片時,直接從緩衝中讀取;如果緩衝中不存在這個名字的映像,則先把該圖片載入到緩衝中,再返回該對象。如果我們需要短時間內頻繁的載入一些一次性的映像,最好不要使用這種方法。

  優點:方便快捷,只有第一次使用的時候稍慢,接下來再使用就會稍微快點;

  缺點:如果在當前工程中只使用一次,就會浪費記憶體。

 

2、imageWithContentsOfFile:和initWithContentsOfFile:
1 // 擷取程式包中一個圖片資源的路徑2     NSString *oldImagePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];3     // 根據路徑擷取圖片4     UIImage *image1 = [UIImage imageWithContentsOfFile:oldImagePath];  // 類方法5     UIImage *image2 = [[UIImage alloc] initWithContentsOfFile:oldImagePath];  // 對象方法

   imageWithContentsOfFile:  -- UIImage的類方法

  intiWithContentsOfFile:  -- UIImage的對象方法

  每次都根據路徑去讀取圖片,不經過系統緩衝,直接從檔案系統中載入並返回。不會耗記憶體,如果載入的圖片在工程中只使用一次,應該選擇這個方法。當收到記憶體警告的時候,系統可能會將UIImage內部的儲存映像的記憶體釋放,下一次需要的時候重新載入。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.