当popViewController调用时内存不释放

下面是我有一些疑惑的代码:

MyController *vc= [MyViewController alloc] initWithNibName:@"myController" bundle:nil]; [self.navigationController pushViewController:vc animated:YES]; [vc release]; 

然后,我通过按导航栏上的后退button来popup我的控制器。

问题是内存第一次增加5MB(在活动监视器)。当我popup控制器它不会被释放。 而当我做一次又一次的push和pop,内存增加了less量,也减less了。

UIView * myView = [UIView alloc] init];

self.vi = MyView的;

[myView发布];

UIScrollView * mySv = [UIScrollView alloc] init];

self.sv = mySv;

[mySvrelease];

UIProgressView * myPv = [UIProgressViewalloc] INIT];

self.pv = myPv;

[myPvrelease];

UIWebView * myWv = [UIWebView alloc] init];

self.wv = myWv;

[myWv发布];

– (void)dealloc {[wv relase];

[sv发布]

[pv发布];

[vi release];

[super dealloc];

}

wv,sv,pv,vi是具有retain属性的MyViewControolervariables。 我编写了这个代码来检查内存pipe理概念,但是现在看到活动监视器和仪器结果,我感到困惑。

我已经validation,没有对象是通过使用仪器在MyController类泄漏。

MyViewController有一个泄漏的内容

它不是内存泄漏。 iOScaching您最近访问过的控制器。 当您的应用程序需要内存来执行一些其他任务时,它将被iOS本身解除分配。

在MyViewController.m文件中试试这个方法

 - (void)dealloc { //release any object thats retained into the memory [super dealloc]; }