gpt4 book ai didi

iOS 5 + ARC - 将 nil 分配给指针是否释放内存?

转载 作者:可可西里 更新时间:2023-11-01 04:44:45 25 4
gpt4 key购买 nike

我正在努力遵守 Apple 关于在我的应用程序中响应低内存警告的指南。准则说:“收到(低内存警告)后,您的应用程序必须释放尽可能多的内存,方法是释放它不需要的对象或清除它可以稍后重新创建的内存缓存。”

问题是,如何使用 ARC“释放”内存?

例如,假设我在不在屏幕上的 View 的 View 层次结构中有一张图像。在 didReceiveMemoryWarning 中,我目前通过调用 removeFromSuperview 将其从 View 中删除,但我仍然有一个指向 UIImage 本身的指针。我还应该尝试释放这段内存吗?如何?通过将 nil 分配给指针?

TIA:约翰

最佳答案

  1. 当您收到 -didReceiveMemoryWarning 时,您的 View 应该已被系统自动释放并且应该调用 -viewDidUnload。因此,如果您不持有对该 View 的 subview 的引用,您不负责释放它们。

  2. 否则,如果您确实持有对要释放的某些资源的引用,您只需为 NSObject 分配“nil”来使引用无效,然后调用相应的释放函数用于其他类型的引用,例如 CFRelease 用于 Core Foundation 对象。

关于iOS 5 + ARC - 将 nil 分配给指针是否释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com