在iOS中使用addsubiew方法时害怕内存泄漏

时间:2011-10-13 12:45:49

标签: iphone ios4

iPhone中的

:当我向视图添加子视图时,使用[myview addsubview:anotherview.view]将“我的视图”保留在内存中,这可能会在将大量视图添加为子视图时导致出现问题。

2 个答案:

答案 0 :(得分:1)

在您的示例中,myview将保留anotherview.view(view.view?..)。
但是,只要您不将其作为子视图添加到其他视图或以任何其他方式保留,myview将不会被保留。

答案 1 :(得分:1)

是的addSubView会保留你添加的子视图,是的,如果你添加了太多的子视图,你可能会遇到内存问题,但是这种情况极不可能,如果发生这种情况,你会收到

- (void)didReceiveMemoryWarning

其次是:

- (void)viewWillUnload

然后:

- (void)viewDidUnload

这将卸载您的视图,并释放其子视图。但是不要忘记在viewDidUnload方法上将其他子视图设置为nil,因为ViewController本身也保留了子视图,因此当视图卸载时它们不会被释放,除非你在这里将它们设置为nil。