1. 程式人生 > >UIImage獲取本地圖片的方式對記憶體的影響

UIImage獲取本地圖片的方式對記憶體的影響

前言

在我們的日常開發中很多時候都會經常使用到圖片,在ios開發中經常會用到UIImage來獲取到圖片,然後,在將其顯示出來,然而不同的方式對記憶體的影響是不同的。

獲取Image的方式

一般來說獲取Image的方式有兩個方法:imageNamed和imageWithContentsOfFile,前者需要傳遞一個引數就是影象的名字,後者需要圖片的全路徑(可以通過 [[NSBundle mainBundle] pathForResource:“檔名字” ofType:“檔案字尾”]獲取),那麼這兩種方式有什麼區別呢?  通過查閱,imageNamed方式獲取的圖片,它的釋放是由系統幫你管理的,也就是說你不需要去管理圖片的釋放,只管自己寫程式碼就好了,而通過imageWithContentsOfFile

方式得到的圖片,什麼時候釋放需要自己手動指定,如果你忘記了釋放引用那麼它將一直存在記憶體中。一般來說一些常用經常出現的圖片我們使用imageNamed方式去獲得,讓系統去幫助我們管理釋放,而只是偶爾出現一下的動畫,儘量使用imageWithContentsOfFile方式去獲得並且手動釋放,因為不及時釋放的話它將在一段時間裡繼續佔用記憶體很有可能出現程式崩潰的可能。