Iphone UINavigationController泄漏/理解popViewController

Iphone UINavigationController泄漏/理解popViewController,iphone,memory-leaks,uiviewcontroller,uinavigationcontroller,Iphone,Memory Leaks,Uiviewcontroller,Uinavigationcontroller,我有一个导航控制器和一个表视图。当有人单击表视图时,我会执行以下操作: MyViewController *myViewController = [[MyViewController alloc] initWithImage:image]; [image release]; [self.navigationController pushViewController:myViewController animated:YES]; [myViewController release]; myVie

我有一个导航控制器和一个表视图。当有人单击表视图时,我会执行以下操作:

MyViewController *myViewController = [[MyViewController alloc] initWithImage:image];
[image release];
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];
myViewController将保留图像

现在,如果我在NavigationController中来回走动,就会出现漏洞,因为每次都会创建一个新的MyViewController,而popViewController显然不会释放MyViewController

我的问题: 为什么popViewController不释放控制器? 我该怎么处理?将myViewController作为我的类的成员,并检查它是否已经存在,而不是每次都创建它


提前感谢您的帮助,

我通常在类中声明一次viewController,在init中分配并在需要时推送。然后在推式视图控制器中,我调整
视图中的视图将出现:

显然,问题是该代码是在另一个线程中调用的,然后该线程必须有另一个自动释放池才能让自动释放正常工作