首先這兩個方法都是常用來加載圖片。
兩個方法的不同之處在于:
1.imageNamed: 這個方法在默認狀態下會加載圖片之后進行緩存,它會用一個指定的名字在系統緩存中查找并返回一個圖片對象。如果緩存中沒有找到相應的對象,則從指定地方加載圖片并緩存對象,并返回這個圖像。
2.imageWithContentsOfFile: 這個方法是只會加載圖片不會緩存圖片。
使用場景:
1.imageWithContentsOfFile: 當應用程序需要加載一張比較大的圖片并且使用一次性,那么其實是沒有必要去緩存這個圖片的,用imageWithContentsOfFile是最為經濟的方式,這樣不會因為UIImage元素較多情況下,CPU會被逐個分散在不必要緩存上浪費過多時間.
2.imageNamed:在不大影響性能的情況下,選擇 imageName:因為,大量使用imageNamed方式會增加開銷CPU的時間來做這件事,所以我們需要根據特定場景慎重選擇