2

如果我收到内存警告,我必须在哪里发布我的所有视图和数据?

我是否必须在

- (void)didReceiveMemoryWarning或在

- (void)viewDidUnload

4

2 回答 2

1

对于 iPhone OS 3.0 及更高版本viewDidUnload,可能会在内存不足的情况下调用,因此最好在 viewDidUnload 中释放视图,只需注意对于自定义视图,请在 viewDidLoad 而不是类的 init 方法中创建它们。

didReceiveMemoryWarning更多地用于发布自定义数据结构而不是发布视图。

于 2011-09-08T06:19:50.530 回答
1
- (void)didReceiveMemoryWarning

这应该仅用于您不再需要且不再需要的东西,因此将严格不需要的内容放在这里,例如,如果您不再使用视图并且可能没有释放它,您可以在此处释放它,以便当内存警告出现时它将被释放。

- (void)viewDidUnload

在这里,您确保视图将被释放,以防它们被视图控制器额外引用。可以参考这个问题:When to use viewDidUnload

于 2011-09-08T06:20:52.987 回答