iphone - 使用 [NSThread detachNewThreadSelector :toTarget:withObject:] 时如何设置自动释放池

标签 iphone multithreading ios

您好,我正在使用 [NSThread detachNewThreadSelector:toTarget:withObject:] 并且我遇到了很多内存泄漏,因为我没有为分离线程设置自动释放池。我只是想知道我实际上在哪里做这个?是不是在我打电话之前

[NSThread detachNewThreadSelector:toTarget:withObject:]

或者在另一个线程中运行的方法中?

任何帮助将不胜感激,一些示例代码会很棒。

谢谢。

最佳答案

在你用线程调用的方法中......即给定这个......

[NSThread detachNewThreadSelector:@selector(doStuff) toTarget:self withObject:nil];

你的方法是...

- (void)doStuff {
  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  //Do stuff
  [pool release];
}

关于iphone - 使用 [NSThread detachNewThreadSelector :toTarget:withObject:] 时如何设置自动释放池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5350174/

相关文章:

iphone - 在 Interface Builder (XCode 4) 中设置 UIButton 拉伸(stretch)背景图像

iphone - 如何生成兼容 Objective-C 语法的 JSON 字符串

iphone - 我们可以更新存储在 NSUserDefault 中的数组吗

java - 修复了大小为 1 的线程池并使其连续 <- 它们相同吗?

iphone - 使用 NSDictionary 访问问题

ios - 升级mac os和升级xcode后如何运行 `npm react-native run-ios`?

c# - Xamarin-ios 共享和接收音频文件

iphone - UILabel 中的文本居中

python - 使用不同的线程读取文件

c# - 原子操作线程安全——我需要 "Mirror"原子读取吗?