我试图符合苹果关于在我的应用程序中响应低内存警告的指导原则。准则说:“接收到(低内存警告)后,您的应用程序必须释放尽可能多的内存,释放不需要的对象或清除内存缓存,以便稍后重新创建。”iOS 5 + ARC - 是否将指针分配给指针释放内存?
问题是,如何使用ARC释放内存?
例如,假设我在不在屏幕上的视图的视图层次结构中有图像。在didReceiveMemoryWarning中,我目前通过调用removeFromSuperview将其从视图中移除,但我仍然有一个指向UIImage本身的指针。我是否也应该尝试释放这些内存?怎么样?通过将nil分配给指针?
TIA:约翰
请在指针附近提供更多信息。它是一个伊娃,在一个方法,全球,财产本地? – zaph
那么我正在考虑的是UIImage *实例变量。 – John
好吧,我认为我解决了我的问题1)使用弱引用的子视图和2)分配nil指针如果视图仍然在执行didReceiveMemeoryWarning时(这是我每次在调试器中看到它时) 。主要是,我想我只是意识到,你无法避免一直记忆警告......有时它们是由其他应用程序引起的。你只需要妥善处理它们。修好我的记忆警告处理程序后,我只收到警告一次,而不是每次启动UIImagePickerController。一个很大的改进。 – John