加載圖片的方式:
-
方法一:imageNamed:
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; imageView.image = [UIImage imageNamed:@"1"];
-
方法二:imageWithContentsOfFile:
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; NSString *path = [[NSBundle mainBundle] pathForResource:@"0" ofType:@"png"]; imageView.image = [UIImage imageWithContentsOfFile:path];
圖片資源存裙髌弧:
-
1.加載Assets.xcassets這里面的圖片:
- 1> 打包后變成Assets.car
- 2> 拿不到圖片路徑
- 3> 只能通過(guò)imageNamed:來(lái)加載圖片
- 4> 不能通過(guò)imageWithContentsOfFile:來(lái)加載圖片
-
2.放到項(xiàng)目中的圖片:
- 1> 可以拿到圖片路徑
- 2> 能通過(guò)imageNamed:來(lái)加載圖片
- 3> 能通過(guò)imageWithContentsOfFile:來(lái)加載圖片
圖片兩種加載方式的內(nèi)存緩存:
- 1.通過(guò)imageNamed:加載圖片
- a. 就算指向它的指針被銷(xiāo)毀喳挑,該資源也不會(huì)被從內(nèi)存中干掉
- b. 放到Assets.xcassets的圖片,默認(rèn)就有緩存
- c. 使用場(chǎng)景:圖片經(jīng)常被使用
- 2.通過(guò)imageWithContentsOfFile:加載圖片
- a. 指向它的指針被銷(xiāo)毀影暴,該資源會(huì)被從內(nèi)存中干掉
- b. 放到項(xiàng)目中的圖片沒(méi)有緩存
- c. 使用場(chǎng)景:不經(jīng)常使用的圖片,大批量的圖片