问题标签 [nsautoreleasepool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3947 浏览

iphone - “NSCFString 类的对象 0x84be00 自动释放,没有适当的池 - 只是泄漏” - 但在应用程序的第一行!

在我的 iPhone 应用程序中,在调用任何代码之前,我在应用程序一开始就在控制台中收到了三个奇怪的警告:

我在许多地方使用 MBProgressHUD 来显示进度指示器,这是关于此问题的其他一些讨论所指出的,因为它在显示进度指示器时会引发一个新线程。但最奇怪的是,这些似乎甚至在我的 main() 函数开始之前就被抛出了:

当我在我的代码中的第一个断点时NSAutoreleasePool,甚至在该行运行之前,我都会收到此警告。假设在此之前我没有运行任何我自己的代码,可能导致错误的原因是什么?

0 投票
1 回答
564 浏览

objective-c - Xcode Objective C - 使用 NSThread 帮助解决 NSAutoreleaseNoPool 错误

嘿专家,我在使用 NSThread 时遇到了一些麻烦。Xcode 不断给我“ * __NSAutoreleaseNoPool(): NSCFString 类的对象 0x5694dc0 自动释放,没有适当的池 - 只是泄漏”错误。

我使用 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 行正确地声明了池。

然后在我的循环结束时,我使用:[pool release];

是因为我使用委托方法作为 performSelectorInBackground 吗?感谢堆栈溢出。

0 投票
2 回答
247 浏览

objective-c - Objective-C 中工厂方法的性能

以下 2 段代码在性能方面有什么不同吗?

我看到人们试图建议尽可能使用工厂方法。尽快释放对象而不是在池耗尽时释放对象不是更好吗?我会看到第一种类型在某些情况下非常有效,例如在紧密循环中。

0 投票
2 回答
242 浏览

iphone - 关于 iPhone 上的多线程

我有个问题。我的案例研究是我有两个大型 SQLite 数据库,我想使用线程(意味着同时有 2 个进程)。它运作良好吗?我写了以下代码:

请指导我。我这样做是否正确?我应该使用游泳池排水还是排水?

这样是不是使用并发进程,这意味着它也与多任务处理相同?

提前致谢!

0 投票
2 回答
429 浏览

objective-c - NSAutoreleasePool 中的 sysctl -> 总线错误和段错误

在此先感谢所有试图帮助我的人。我在这里遇到了一个大问题,我找到了一些关于 sysctl 的示例代码并对其进行了扩展,以便我可以查询网络接口的输入/输出数据。当我直接在 main() 中运行此代码(没有任何 NSAutoreleasePool)时,一切正常。但是,一旦我将它添加到我的班级并执行它,我就会得到总线错误和段错误。我已将问题追溯到 NSAutoreleasePools。有人可以帮忙吗?(如果您不相信,只需在代码之前放置一个 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 并将整个内容放入 main())

0 投票
1 回答
443 浏览

cocoa - CoreData 导入期间内存使用率高

我正在尝试执行相当大的 CoreData 导入(大约 25,000 行),同时仍然保持相当低的内存占用。我已经阅读了有关有效导入数据的文档,并努力实现那里建议的所有内容(包括将我的 MOC 的 undoManager 设置为 nil)。

不幸的是,在运行以下代码时,我的应用程序内存使用量仍然攀升至 180MB 左右。完成后,无论最终的 NSAutoreleasePool 耗尽调用如何,应用程序都将位于 180MB 左右。

通过 Allocations 运行应用程序显示 95% 的内存使用可归因于我的[self.moc save:&error]调用。我在这里做错了什么?

0 投票
1 回答
213 浏览

c++ - 每个对象一个 AutoreleasePool?

我不能有一个“大” NSAutoreleasePool——main()我不能碰它。那么每个对象有一个池是什么意思?

这是一个有效的“模式”吗?

0 投票
2 回答
4444 浏览

cocoa-touch - iOS 应用程序因“发送到已释放实例的消息”而崩溃

我的 iOS 应用程序有很多网络功能。我当然将重要数据保存到文件系统以供离线查看等,它曾经完美地工作而没有任何问题。现在,当我尝试使用飞行模式进行测试以模拟没有互联网连接时,GDB 会输出以下内容:

我在 gdb 中尝试过 malloc 调试,但它告诉我该进程未运行或找不到该命令。我将如何弄清楚错误发生在哪里?backtrace 只给了我通常的 NSAutoreleasePoolPop 东西。

看在我的份上,我就是找不到这个错误在哪里。NSZombiesEnabled 告诉我地址​​,但malloc_history pid 0x3e93630只是简单地向我抛出一个错误,说 gdb 不知道这个命令,即使前面有信息。

0 投票
2 回答
314 浏览

memory-leaks - 内存泄漏 NSAutoreleasePool

使用仪器时,我在这段代码上出现了内存泄漏,我不明白为什么!

谢谢

0 投票
1 回答
464 浏览

iphone - Detached NSThread memory leak

With instruments i got a memory leak in this method of a detached thread :

I don't understand this leak.

Thanks.