Joh*_*ohn 5 memory-management ios automatic-ref-counting
我正在努力遵守Apple关于在我的应用中响应低内存警告的指导原则.指南说:"收到(低内存警告)后,您的应用程序必须释放尽可能多的内存,方法是释放不需要的对象,或者清除以后可以重新创建的内存缓存."
问题是,如何使用ARC"释放"内存?
例如,假设我在视图的视图层次结构中有一个不在屏幕上的图像.在didReceiveMemoryWarning中,我目前通过调用removeFromSuperview将其从视图中删除,但我仍然有一个指向UIImage本身的指针.我还应该尝试释放这段记忆吗?怎么样?通过为指针指定nil?
TIA:约翰
当你得到 时-didReceiveMemoryWarning,你的视图应该已经被系统自动释放并且-viewDidUnload应该被调用。因此,如果您不持有对视图子视图的引用,则您不负责释放它们。
否则,如果您确实持有对要释放的某些资源的引用,只需通过为NSObjects 分配“nil”来使您的引用无效,并为其他类型的引用(例如对象)调用相应的释放CFRelease函数Core Foundation。
| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |