我嘗試了2種爲視圖控制器創建背景圖像的不同方法。在視圖控制器中的背景圖像導致內存增加+ UIColor colorWithPatternImage
我以前研究這一點,並得出結論,對於記憶力好做法,你應該使用這種方法:當使用其他方法
NSString *path = [[NSBundle mainBundle] pathForResource:@"controllerBackground" ofType:@"png" inDirectory:@""];
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:path]]];
:
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"controllerBackground.png"]]];
這是效率不高如使用imageWithContentsOfFile:路徑方法。
但是,當使用性能工具「泄漏」監視器測試這兩種方法時,我觀察到一件非常不尋常的事情發生。
使用imageWithContentsOfFile:path
方法時,問題是,當在加載視圖控制器的導航控制器內來回移動時,每次視圖控制器加載時,內存將保持在大約1mb附近。
這個問題也只出現在新的iOS 4.1和4.它似乎沒有發生在iOS 3.0或3.2。
bump ...任何人? – Allan 2010-10-24 23:21:31