我有兩個視圖,第一個是簡單的視圖,有一些關於使用的介紹,通過點擊一個按鈕它打開主視圖。主視圖有許多圖像和兩個定製的表格,其中行由文本和圖像組成,因此主視圖的創建非常緩慢。 Profiler顯示大部分時間都是由imageIO消耗的(decode_mcu,png_read_filter_row,pmap_copy_page和decompress_onepass)如何在後臺「準備」一個視圖?
我想通過在加載第一個視圖後立即創建主視圖進行優化,並且當我單擊該按鈕時,它只是簡單地將該視圖設置爲可見或將該視圖置於前面。
我試過的Alloc &初始化主視圖中的第一個視圖的viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
rootVC = [[RootViewController alloc] initWithNibName:@"ViewController" bundle:nil];
rootVC.delegate = self;
}
,並在按鈕的操作方法
- (IBAction)buttonUp:(id)sender {
[self.view addSubview: rootVC.view];
}
這樣做,但這種不工作時,裝載仍然需要很長。我如何犧牲一些記憶來改善用戶體驗?
感謝
利奧
感謝您的回覆。 1.儀器分析器顯示imageIO正在使用我大部分的CPU時間; 2.初始可見表格顯示6行,我無法避免。我相信我正在正確地重用實例; 3.你能分享更多有關在後臺加載圖像的信息嗎? Thx – leo 2011-06-08 17:35:40
我編輯了我的答案,並添加了一些示例代碼,但如果你只有6行,imageIO是瓶頸,我懷疑你的圖片*方式*太大。 Retina屏幕上的iPhone屏幕至多爲640x960。 – benzado 2011-06-09 15:36:46