我使用setViewControllers上navigationcontroller像:UINavigation setViewControllers:內存分配
XYZController *xyz = [XYZController alloc] initWithXibName:@"XYZController"];
[myNavController setViewControllers:xyz];
[xyz release];
我檢查儀器的撥款,但是我發現,很多時候這個函數調用儀器增加活動的對象,如果這個功能在#live中被稱爲5次時間樂器演出5次。
這意味着它正在分配內存,我該如何處理內存分配。
編輯:
RootViewController *rootController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootController];
[rootController.navigationController.navigationBar setHidden:YES];
[self.myNavController setViewControllers:nil];
[self.myNavController setViewControllers:[NSArray arrayWithObjects:navController,nil]];
[rootController release];
[navController release];
這是我用我的應用程序的實際代碼。這裏的問題是,只要有一個這段代碼的調用,rootController中的生命對象計數總是會增加。不僅rootController數量增加,而且類變量也不會釋放,因此內存堆積如山。結果是我的應用程序的性能在很大程度上降低了。
請指教。
感謝您的快速回復。 'myNavController'是'UINavigationController','setViewControllers'只包含單個視圖控制器。 – parilogic