我们都知道一个iOS应用的如果是在main函数中,它的实现是
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain...(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
复制代码
我们看到在main中有个@autoreleasepool,那它到底是什么呢...了,而由tls代劳了,这样就节省了autoreleasepool对对象的存储,清除开销了。...那也就是说ARC下只要调用方和被调方都用ARC编译时,所建立的对象都不加入autoreleasepool.更简单的说我们自己写的类,调用工厂方法生成对象都不会放 入autoreleasepool....不过不知道是不是我理解的问题,我在代码中没有看到block中有autoreleasepool
在main写了如下代码
编译成汇编后,并没有看到
autoreleasepool的身影
然后在