一,內(nèi)存泄漏
1,報錯:User-facing text should use localized string macro
解決方法一,將相對應(yīng)的string改為NSLocalizedString(@"string", nil),相應(yīng)的做好國際化工作.
解決方法二,如下圖
2,報錯如圖:
解決方法:如圖,
CGImageRef是定義在QuartzCore框架中的一個結(jié)構(gòu)體指針凌受,用C語言編寫民轴。所以需要手動釋放!
3,在-(void)viewWillDisappear:(BOOL)animated 方法中,將NSTimer,block等可能造成強引用釋放掉.如下圖
二,內(nèi)存優(yōu)化
1,最經(jīng)典的圖片加載方法,imageNamed方法和imageWithContentsOfFile方法
imageNamed:會對圖片進(jìn)行緩存,同一圖片不會重復(fù)加載,不能人為釋放
imageWithContentsOfFile:不會對圖片進(jìn)行緩存,同一圖片會重復(fù)加載,可人為釋放
像可重用cell,大量重復(fù)使用圖片的時候,必須選擇imageNamed方法
只使用次數(shù)極其有限,層級較深,使用imageWithContentsOfFile方法
2,可重用cell的銷毀,使用下面的兩個方法,去掉展示完畢的cell
-(void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath;
-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;