如果UIApplicationMain()永远不会返回,那么自动释放池何时被释放?

chu*_*guy 3 iphone cocoa

代码:

int main(int argc, char *argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

Apple的文档明确指出:

返回值:即使指定了整数返回类型,此函数也不会返回.当用户通过按Home键终止iPhone应用程序时,应用程序会立即通过调用退出系统函数退出,参数为零.

其次, int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName ); 我们如何从UIApplication子类访问argv?

Die*_*Epp 8

自动释放池不会被释放.相反,操作系统只是从内存中删除您的应用程序.