gpt4 book ai didi

cocoa - Cocoa 中处理 malloc 失败的最佳方法

转载 作者:行者123 更新时间:2023-12-03 16:17:45 25 4
gpt4 key购买 nike

尽管这种情况不会经常发生,但在某些情况下,我的 Cocoa 应用程序将分配大量内存,足以让我担心 malloc 失败。在 Cocoa 应用程序中处理此类故障的最佳方法是什么?我听说在此开发环境中通常不鼓励使用异常,但在这种情况下它们有用吗?

最佳答案

如果由于内存不足而导致分配失败,则很可能是某个框架中的某个地方出现了分配错误,导致应用程序处于不确定状态。

即使情况并非如此,您也无法执行任何分配内存的操作,这样您的选择就很少了。

即使释放内存来尝试“修复”问题也不会始终如一地起作用,甚至无法通过显示漂亮的错误消息并干净地退出来“修复”问题。

您也不想尝试保存此状态下的数据。或者,至少,必须编写处理读取时损坏的数据所需的所有代码(因为分配失败很可能意味着某些代码损坏了内存)。

将分配失败视为 fatal error ,记录并退出。

正确编写的应用程序极其很少会出现内存不足的情况。更有可能的是,当应用程序内存不足时,用户的系统将像 hell 一样进行分页,因此,在分配失败之前很久,性能就已经显着下降。

专注于优化和减少内存使用的投资返回将比尝试从分配失败中恢复高出几个数量级。

(艾伦的原始答案和他的编辑都是准确的)。

关于cocoa - Cocoa 中处理 malloc 失败的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1968566/

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