iPad应用程序中奇怪的内存泄漏

iPad应用程序中奇怪的内存泄漏,ipad,memory-leaks,iboutlet,Ipad,Memory Leaks,Iboutlet,我在iPad应用程序中遇到了一个非常奇怪的内存泄漏 我有一个导航控制器应用程序,通过单击主控制器上的一个按钮,我按下一个ViewController,这个视图控制器有一个UIWebView。它使用IBOutlet连接到NIB文件 @interface MyViewController : UIViewController { IBOutlet UIWebView *webview; } 在Webview中,当用户触摸它时,它开始播放youtube视频 现在,当我点击返回按钮时,我

我在iPad应用程序中遇到了一个非常奇怪的内存泄漏

我有一个导航控制器应用程序,通过单击主控制器上的一个按钮,我按下一个ViewController,这个视图控制器有一个UIWebView。它使用IBOutlet连接到NIB文件

@interface MyViewController : UIViewController {

     IBOutlet UIWebView *webview; 
}
在Webview中,当用户触摸它时,它开始播放youtube视频

现在,当我点击返回按钮时,我会弹出视图控制器

问题来了,视频没有停止播放,原因是UIWebView实例仍然存在,为此,我在dealoc方法中检查了它的保留计数,结果显示为2,但应该是1。我根本没有在代码中保留它

这里有一些奇怪的东西,只是为了测试我在对象上调用了release,这次视频停止播放

我知道这样做是不对的,但对于为什么会发生这样的事情,我没有答案

任何关于我错在哪里的评论


感谢您考虑以下两点:

  • MyViewController是如何分配和发布的?当您按下viewcontroller时,它将再次被保留。实际上,您可以在代码中的该点释放它

  • 在弹出MyViewController之前,请尝试将webview的委托设置为nil


  • viewcontroller被推送到导航控制器后即被释放,并且webview没有委托集