如題,是不是大家為了方便都這樣載入啊
myimage = [uiimage imagenamed:@"icon.png"];
那麼小心了
這種方法在一些很少,或者很小的程式裡是ok的。
但是,在大量載入的程式裡,請千萬不要這樣做。
為什麼呢 ???????
試想你多了,是什麼後果``````
cache極有可能不會響應 memory warnings and release its objects
所以,用的時候一定要小心的alloc和release
推薦使用
nsstring *path = [[nsbundle mainbundle] pathforresource:@」icon」 oftype:@」png」];
myimage = [uiimage imagewithcontentsoffile:path];
用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載入影象就會變得非常有效。
無論用哪種方式載入影象,影象使用結束後,一定要記得顯示釋放記憶體。
原文連線:
django rest framework快取應用
在我們web製作過程中進場使用到快取技術,那麼今天python中的一種簡單便捷的快取技術與大家分享 以下是在省 市 區 聯動的位址查詢做的快取處理 使用快取 省市區的資料是經常被使用者查詢使用的,而且資料基本不變化,所以我們可以將省市區資料進行快取處理,減少資料庫的查詢次數。在django rest...
WPF與緩動 四 弧形緩動
wpf與緩動 四 弧形緩動 周銀輝 弧形緩動就是其緩動曲線為一段圓弧,如何我們假設圓弧上的點的斜率為速度的話,那麼可以想像其速度的變化多麼具有戲劇性,其加速或減速來得很突然,與5次緩動差不多.參考以下 圓形緩動 protected override double getcurrentvaluecor...
深度緩紋理
create a texture object storing color glgentextures 1,m udepthtexid glbindtexture gl texture 2d,m udepthtexid gltexparameterf gl texture 2d,gl texture...