注意:我看到有些问题在这方面被问到,但似乎没有澄清我的疑惑。
在iOS6之前,所有的插座、重量级资源,如图片和声音,在viewDidUnload中设置为nil。在iOS6之后,这不再是这种情况,因为视图不再被卸载。系统调用didReceiveMemoryWarning,这是新推荐的放置这样的资源中和解决方法。
那么如果代码需要支持iOS4以上的所有内容呢?在运行iOS 4和5的设备上,viewDidUnload仍然会被调用。而在运行iOS6的设备上,只会调用didReceiveMemoryWarning。
这是否意味着我必须在两个地方复制代码?在两个地方调用一个通用方法是一个好的方法吗?请提供您的输入或处理此问题的方法。
在iOS6之前,所有的插座、重量级资源,如图片和声音,在viewDidUnload中设置为nil。在iOS6之后,这不再是这种情况,因为视图不再被卸载。系统调用didReceiveMemoryWarning,这是新推荐的放置这样的资源中和解决方法。
那么如果代码需要支持iOS4以上的所有内容呢?在运行iOS 4和5的设备上,viewDidUnload仍然会被调用。而在运行iOS6的设备上,只会调用didReceiveMemoryWarning。
这是否意味着我必须在两个地方复制代码?在两个地方调用一个通用方法是一个好的方法吗?请提供您的输入或处理此问题的方法。
viewDidUnload
。这是设备 iOS 版本的功能,而不是您编译的版本。在停止支持 iOS 5 之前,您必须正确处理viewDidUnload
。 - Rob