iPhone開發之UIImage應用與記憶體管理

2021-09-08 00:07:16 字數 860 閱讀 6788

用uiimage載入影象的方法很多,最常用的是下面兩種:

1、用imagenamed函式

[uiimage imagenamed:imagename];

2、用nsdata的方式載入,例如:

1. nsstring *filepath = [[nsbundle mainbundle] pathforresource:filename oftype:extension];

2. nsdata *image = [nsdata datawithcontentsoffile:filepath];

3. [uiimage imagewithdata:image];

由於第一種方式要寫的**比較少,可能比較多人利用imagenamed的方式載入影象。其實這兩種載入方式都有各自的特點。

1)用imagenamed的方式載入時,系統會把影象cache到記憶體。如果影象比較大,或者影象比較多,用這種方式會消耗很大的記憶體,而且釋放影象的記憶體是一件相對來說比較麻煩的事情。例如:如果利用imagenamed的方式載入影象到乙個動態陣列nsmutablearray,然後將將陣列賦予乙個uiview的物件的animationimages進行逐幀動畫,那麼這將會很有可能造成記憶體洩露。並且釋放影象所佔據的記憶體也不會那麼簡單。但是利用imagenamed載入影象也有自己的優勢。

對於同乙個影象系統只會把它cache到記憶體一次,這對於影象的重複利用是非常有優勢的。例如:你需要在乙個tableview裡重複載入同樣乙個圖示,那麼用imagenamed載入影象,系統會把那個圖示cache到記憶體,在table裡每次利用那個影象的時候,只會把指標指向同一塊記憶體。這種情況使用imagenamed載入影象就會變得非常有效。

無論用哪種方式載入影象,影象使用結束後,一定要記得顯示釋放記憶體。

iPhone開發之UISearchBar學習

from iphone開發之uisearchbar學習是本文要學習的內容,主要介紹了uisearchbar的使用,不多說,我們先來看詳細內容。關於uisearchbar的一些問題。1 修改uisearchbar的背景顏色 uisearchbar是由兩個subview組成的,乙個是uisearchba...

iPhone開發之UISearchBar學習

本文介紹的是iphone開發之uisearchbar學習,主要介紹了uisearchbar的使用,我們先來看內容。ad iphone開發之uisearchbar學習是本文要學習的內容,主要介紹了uisearchbar的使用,不多說,我們先來看詳細內容。關於uisearchbar的一些問題。1 修改u...

iPhone開發四劍客之《iPhone開發秘籍》

難以想象,竟然有人還沒有讀 erica sadun 的書就開始從事 iphone 商業開發 本書將使你成為 上使用者熱捧的那種五星級開發者。infoworld 本書全面剖析了 iphone 開發的方方面面,將成為各層次開發人員的求生秘籍。豐富的 示例和螢幕截圖更為書中大量技巧和訣竅添色不少。jacq...