15得票1回答
为什么Xcode 4.2在main.m中使用@autoreleasepool而不是NSAutoreleasePool?

我注意到在Xcode 4.2中启动主函数的方式与以前不同:int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, ...

13得票2回答
NSAutoreleasePool和@autoreleasepool块有什么区别?

我想知道NSAutoreleasePool和@autoreleasepool块之间的区别。我已经查阅了很多问题,但没有得到令人满意的答案。到目前为止,我知道在ARC中不能使用NSAutoreleasePool,在启用和禁用ARC情况下都可以使用@autoreleasepool块。那么它们内部有...

11得票5回答
自动释放池在Cocoa Touch中什么时候会导致对象被释放?

我理解你需要在iOS上小心使用autorelease。我有一个方法,它返回一个由调用者所需的对象 alloc,在这种情况下——就我所知——我需要在返回对象之前向被调用方发送 autorelease。 这很好,但一旦控制返回到手机(即处理完我的按钮单击后),似乎自动释放池就被释放了。我怀疑这就...

10得票3回答
自动释放池和iOS下何时调用release函数

我希望您能帮我澄清一些内容。 假设我有以下代码:- (void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; for (int i = 0; i < 5000000; i++) { NSS...

10得票2回答
现在的NSThread是否会自动创建自动释放池?

我有这样的测试代码 - (void)viewDidLoad { [super viewDidLoad]; NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(test) obj...

8得票4回答
如何判断对象是否在NSAutoreleasePool中

我希望了解一个对象被自动释放的次数。我已经使用Objective-C很长时间了,通常可以直接知道一个对象是否被自动释放,但是我经常看到与内存和保留计数有关的问题。最终,答案总是以“您无法信任对象的保留计数”结束 - 我同意这一点,但是如果您可以确定一个对象被自动释放的次数,那么您实际上可以相信...

8得票2回答
自动释放池页面已损坏

每当我使用ASIHTTPRequest进行webservice调用时,我会随机出现以下崩溃: autorelease pool page 0x9418000 corrupted magic a1a1a100 4f545541 454c4552 21455341 pthread...

7得票2回答
如果我不创建自动释放对象,那么是否需要使用自动释放池?

我的意思是,如果我确信自己没有创建任何自动释放的对象,那当然不需要。我的真正关注点在于,是否有其他我不理解的底层机制。我有一个后台线程调用一个函数。我是否总是需要创建自动释放池? - (void)someFuncOnABackgroundThread { //don't seem t...

7得票2回答
使用@autoreleasepool 减少峰值内存使用率

我在开发一款iPad应用程序,其中同步过程使用了Web服务和Core Data,以紧密循环的方式运行。为了减少内存占用,根据苹果公司的建议,我定期分配和释放NSAutoreleasePool。目前这种方法非常有效,当前应用程序没有内存问题。但是,我计划转移到ARC,而NSAutorelease...

7得票1回答
崩溃 - “在枚举时修改了集合<CALayerArray: 0x645dfc0>。”

目标是在viewWillAppear开始时启动一个旋转图形,先加载数据再显示tableview,以便用户不会在查看表格之前感到延迟。即窗口加入了UIActivityIndicatorView,我只想设置alpha来隐藏/显示它。 当启动线程以确保在viewWillAppear中显示“旋转齿轮...