想象一下,我有一个主视图,其中我调用了“AddSubview”方法,如下所示:
[mainView addsubview:secondView];
...在第二个视图中,我有一个 searchBar,带有适当的代码来显示 UIkeyboard,输入一些文本,在应用程序中使用这个,最后关闭 UIkeyboard。好的。
当这部分程序完成后,我再次调用“AddSubview”方法,如下所示:
[secondView removeFromSuperview];
[mainView addsubview:thirdView];
完成后,第二个视图消失,并被第三个视图取代。但是...第二个视图使用的内存没有被释放。而且,更重要的是,UIkeyboard 使用的内存(大约 800 Ko)在我退出应用程序之前不会被释放,即使我用第三个视图替换第二个视图,它仍然保持活动状态。
那么,有没有办法正确释放 UIkeyboard 使用的内存?
(精度:在上面的代码中,3个UIviews都在名为ManView、SecondView和ThirdView的3个类文件中子类化,分别对应NIB文件中的3个UIviews对象。在每个文件中我都放了“dealloc”方法. 但是,显然,它从未被调用过......)