//初始化
uiimageview *imageview
=[[uiimageview alloc] initwithframe:cgrectmake(
100,
200,
120,
120)];
//需要設定 uiimage
第一種:[imageview setimage:[uiimage imagenamed:@"1.jpeg"]];
//第二種:
nsstring *filepath=[[nsbundle mainbundle] pathforresource:
@"1" oftype:
@"jpeg"
];uiimage
*images=[
uiimage
imagewithcontentsoffile
:filepath];
//[imageview setimage:images];
//第三種:
nsdata *data=[nsdata datawithcontentsoffile:filepath];
uiimage *image2=[uiimage imagewithdata:data];
[imageview
setimage:image2];
其中第一 二種屬於一種,共兩種:
1)用imagenamed的方式載入時,系統會把影象cache到記憶體。如果影象比較大,或者影象比較多,用這種方式會消耗很大的記憶體,而且釋放影象的記憶體是一件相對來說比較麻煩的事情。例如:如果利用imagenamed的方式載入影象到乙個動態陣列nsmutablearray,然後將將陣列賦予乙個uiview的物件的animationimages進行逐幀動畫,那麼這將會很有可能造成記憶體洩露。並且釋放影象所佔據的記憶體也不會那麼簡單。但是利用imagenamed載入影象也有自己的優勢。對於同乙個影象系統只會把它cache到記憶體一次,這對於影象的重複利用是非常有優勢的。例如:你需要在乙個tableview裡重複載入同樣乙個圖示,那麼用imagenamed載入影象,系統會把那個圖示cache到記憶體,在table裡每次利用那個影象的時候,只會把指標指向同一塊記憶體。這種情況使用imagenamed載入影象就會變得非常有效。
無論用哪種方式載入影象,影象使用結束後,一定要記得顯示釋放記憶體。
執行緒的第三種建立方式 Callable的使用
public class mythread implements callable public class callabledemo aaa 11111111 1024futuretask.get 建議放在 的最後面,否則main執行緒會等待子執行緒執行完才會執行。public class cal...
Vmware WorkStation的三種聯網方式
眾所周知,vmware是windows系統下流行的虛擬機器軟體,可以使使用者在一台真實的主機上虛擬出多個不同系統的虛擬機器。虛擬機器使用者也希望虛擬機器能像真實的主機一樣連線網路。下面簡要介紹vmware的3種聯網方法。僅主機模式 only host 這種方式下的虛擬機器不能訪問區域網內的其他主機,...
if 的三種格式
if 語句 條件判斷 以及它的三種格式 public class main false 為假 所以不會執行裡面的語句if false 判斷 int a 1 int b 2 如果 a b 返回true 否則 返回 false a 1 b 2 aif a b aif a if 語句的三種格式 1.if ...