一笤昨、圖片拖入項(xiàng)目中的方式
1龟再、直接拖入項(xiàng)目
2呀洲、放在Assets.xcassets中
二印衔、圖片加載的兩種方式
1啡捶、加載類(lèi)型
- 直接拖入項(xiàng)目
- 方式一:imageWithContentsOfFile
- 方式二:imageNamed
//通過(guò)路徑尋找
NSString *path = [[NSBundle mainBundle] pathForResource:@"XX.jpg" ofType:nil];
_imageView.image = [UIImage imageWithContentsOfFile:path];
//通過(guò)名字尋找
_imageView.image = [UIImage imageNamed:@"圖片.jpg"];
- Assets.xcassets
- 方式一:imageNamed(唯一)
//通過(guò)路徑無(wú)法找到
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"2.jpg" ofType:nil];
_thridImageView.image = [UIImage imageWithContentsOfFile:path1];
_fourthImageView.image = [UIImage imageNamed:@"2"];
2、打包方式上的不同
項(xiàng)目完成以后奸焙,所有的圖片資源會(huì)被一起打包成ipa文件發(fā)布到AppStore瞎暑,拖入Assets.xcassets文件夾中的圖片最后會(huì)被打包成一個(gè)Assets.car文件彤敛,我們不能根據(jù)路徑讀取圖片。而拖入Supporting Files文件夾中的圖片可以根據(jù)路徑讀取了赌。另外墨榄,從某種程度上講,拖入Assets.xcassets文件夾中的圖片因?yàn)楸淮虬闪薃ssets.car文件勿她,可以得到一定程度上的保護(hù)袄秩,以防止盜圖(之所以說(shuō)是一定程度,是因?yàn)槲覀円廊豢梢酝ㄟ^(guò)其他手段解壓相關(guān)圖片)逢并。而拖入Supporting Files文件夾中的圖片則直接暴露在外面之剧。
3、占用內(nèi)存和性能優(yōu)化
1砍聊、通過(guò)imageNamed:方法加載的圖片背稼,其圖片在使用完成后,并不會(huì)立即被釋放掉玻蝌,具體釋放時(shí)間由系統(tǒng)決定雇庙。因此,這種加載方法灶伊,適用于圖片小疆前、數(shù)量少,且經(jīng)常使用的圖片處理場(chǎng)合聘萨。
2竹椒、通過(guò)imageWithContentsOfFile:可以快速的手動(dòng)釋放。
4米辐、適用場(chǎng)合
1胸完、imageNamed:方法適用于經(jīng)常使用,并且圖片小翘贮、數(shù)量少的場(chǎng)合赊窥,方便快速加載;
2狸页、imageWithContentsOfFile:方法適用于圖片比較大锨能,并且圖片數(shù)量非常多的場(chǎng)合出皇,此時(shí)需要考慮程序的性能爪模。