iphone - 如果我不创建自动释放对象,是否需要自动释放池?

标签 iphone ios memory-management nsautoreleasepool

我的意思是,如果我绝对确定我没有创建任何自动释放的对象,那么它当然不会。我真正关心的是是否还有其他我不明白的东西。我有一个调用函数的后台线程。我必须始终创建一个自动释放池吗?

- (void)someFuncOnABackgroundThread
{
    //don't seem to need this. no leaks found
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    //do something that doesn't create any objects, or only use alloc/init/release

    NSString* str = [[NSString alloc] init];
    [str release];
    [pool drain];
}

最佳答案

是的!你必须。您可能正在调用一个在内部使用自动释放池的函数,因此您永远不知道您是否正在使用任何自动释放池。

祝你好运!

关于iphone - 如果我不创建自动释放对象,是否需要自动释放池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062177/

相关文章:

iphone - Xcode 4.2 中的这些不错的按钮

iphone - -[__NSPlaceholderArray initWithObjects :count:]: attempt to insert nil object from objects[0]'

android - CCPointFromString 正在崩溃 :( in cocos2dx 2. 0.4

java - 如何在移动设备(尤其是 iOS 和 Android)中测试我的应用程序的内存泄漏?

c++ - 使用重载放置新/删除提升 shared_ptr

c++ - 即使清理后内存也没有减少

iphone - 使用公钥通过 SSH 连接到服务器

iphone - 图片没有上传到网络服务

ios - Swift Parse Query 如何在对象中的对象之后创建 uialertview ?

ios - 如何在 iPad 中显示 Actionsheet