内存崩溃更新UIActivityIndi​​catorView

时间:2012-04-15 08:45:20

标签: iphone

每当我尝试从线程更新UIActivityIndicatorView时,应用程序就会因抛出异常而崩溃

  

修改正在最终确定的图层 - 0x7e177fd0    - [CALayer removeAnimationForKey:]:发送到解除分配的实例0x7e177fd0的消息

当我尝试跟踪mallocDebugger工具中的内存泄漏时,此崩溃不会发生在十分之一的情况下

请帮我解决这个记忆问题

线程实现:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];

[autoRechargeCell addSubview:activityIndicator];
[self.activityIndicator startAnimating];
if( [PennyTalkAPI getBalanceInfoForAccount:appDelegate.accountNumber withPIN:appDelegate.pinNumber])
{   
    [autoRechargeCell.switchField setOn:[[NSUserDefaults standardUserDefaults] boolForKey:@"AutoRecharge"]];
    [self.activityIndicator stopAnimating];   <<<<<<<<<<<<<<<<<<<<<< 
}
else
{
    [self.activityIndicator stopAnimating];
}

[pool release]; 

这是我写的代码。

2 个答案:

答案 0 :(得分:1)

看到这个。  添加[[NSNotificationCenter defaultCenter] removeObserver:self];到UIActivityIndi​​catorView + AFNetworking.m dealloc https://github.com/AFNetworking/AFNetworking/issues/2748

答案 1 :(得分:0)

你正在从辅助线程更新它崩溃的原因,在主线程上调用它,如

   [self.activityIndicator performSelectorOnMainThread:@selector(stopAnimating) withObject:nil waitUntilDone:NO];  

我认为它可能对你有帮助....