如果我收到内存警告,我必须在哪里发布我的所有视图和数据?
我是否必须在
- (void)didReceiveMemoryWarning
或在
- (void)viewDidUnload
如果我收到内存警告,我必须在哪里发布我的所有视图和数据?
我是否必须在
- (void)didReceiveMemoryWarning
或在
- (void)viewDidUnload
对于 iPhone OS 3.0 及更高版本viewDidUnload
,可能会在内存不足的情况下调用,因此最好在 viewDidUnload 中释放视图,只需注意对于自定义视图,请在 viewDidLoad 而不是类的 init 方法中创建它们。
didReceiveMemoryWarning
更多地用于发布自定义数据结构而不是发布视图。
- (void)didReceiveMemoryWarning
这应该仅用于您不再需要且不再需要的东西,因此将严格不需要的内容放在这里,例如,如果您不再使用视图并且可能没有释放它,您可以在此处释放它,以便当内存警告出现时它将被释放。
- (void)viewDidUnload
在这里,您确保视图将被释放,以防它们被视图控制器额外引用。可以参考这个问题:When to use viewDidUnload