NSCFString 的 cocoa 内存泄漏,但我没有分配或保留

标签 cocoa memory memory-leaks

仪器告诉我

NSCFString 16Bytes 基础 -[NSPlaceholderString

我的代码是这样的:

BOOL rslt = [self sendLogInfo:[NSString stringWithFormat:@"%@", [nameField text]] andPasword:[NSString stringWithFormat:@"%@",[passField text]]];

但没有任何分配方法。 谁能告诉我代码有什么问题吗?

最佳答案

有两种可能性:

  1. sendLogInfo: 或您未显示的其他一些代码会直接(通过向其发送 retain 消息)或间接(通过设置它作为 strong/retain 属性的值)。
  2. 该代码不是生成仪器中显示的字符串的代码。

如果您将鼠标悬停在仪器中字符串行中的地址 (0xblahblah) 上,您将看到一个如下所示的按钮: ➲ 如果您单击该按钮,它将带您进入到该地址的历史记录,其中将列出该字符串的分配以及每个保留、自动释放和释放。然后,您可以检查每个事件的调用堆栈以了解导致该事件的原因。

其中之一是泄漏的原因:要么是不当的保留,要么是需要通过释放来平衡的保留(或分配),但事实并非如此。

关于NSCFString 的 cocoa 内存泄漏,但我没有分配或保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184935/

相关文章:

cocoa - 首选项 Pane 和 NSTableView 绑定(bind)

iOS 8 UIWebView 内存管理

python - 当我执行python脚本时,RAM满了并且PC崩溃了。

swift - Grand Central Dispute 增长内存

java - OkHttp:避免泄漏连接警告

c++ - C++ (windows) 中的分配数及其可预测性

linux - 如何将用户添加到 procmod 组?

iphone - 使用核心数据获取请求/谓词创建实体父级列表

cocoa - 目标-C : Any TreeSet or TreeDictionary?

c++ - 线程缓存对象引用