ios - Xcode 中的内存警告 - didReceiveMemoryWarning 中的作用是什么?

标签 ios objective-c iphone xcode memory

我以前问过这个问题,但我认为我的问题没有被理解,所以这里再说一遍:

我们不再处理内存了,因为 ARC 就是这么做的。我们甚至无法调用内存释放命令等。那么,如果委托(delegate)收到内存警告通知,可以在运行时以编程方式执行什么操作来解决内存警告问题呢?

我不想知道如何修复我的代码!!! 代码无法在运行时自行修复。

假设我编码正确,但仍然收到内存警告,该怎么办..

即您能否举一个示例,说明要在

中编码的内容
- (void)didReceiveMemoryWarning
{
     [super didReceiveMemoryWarning];
          // Release any cached data, images, etc that aren't in use.
     ;
}

方法?

最佳答案

当然,你仍然可以控制内存。您只是使用 ARC 在更高的抽象级别上进行操作。

您可以使用:object = nil 来清除强引用。当所有强引用都被清除时,该对象将被释放。

如果您熟悉手动引用计数:

object = nil; << ARC

在进行自己的引用计数时是这样的:

[object release], object = nil;

关于ios - Xcode 中的内存警告 - didReceiveMemoryWarning 中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043160/

相关文章:

iphone - 如何在编写漂亮代码的同时避免扩展 NSArray 和在 Java 中思考

iphone - Objective C 中具有时间间隔的 Action

ios - CCSprite 在边框周围有奇怪的白色像素

ios - 如何在 objective-c 的AppDelegate中加载NSUserDefaults standardUserDefaults

iOS 11,当用户强行杀死时应用程序不更新位置

ios - 使用 NSURLConnection 及其回调的良好做法? objective-C

iphone - Facebook SSOw 登录和发布图像不起作用。

当屏幕快速关闭时,IOS 音频停止播放

ios - 从远程 URL 下载视频到设备并通过 AVPlayer 流式传输

ios - 创建 UIGestureRecognizer 时,为什么它的 Action 使用#selector?