0

thread から UIActivityIndi​​catorView を更新しようとしているときはいつでも。ファイナライズ中のレイヤーを変更する例外をスローすることにより、アプリがクラッシュします - 0x7e177fd0 -[CALayer removeAnimationForKey:]: メッセージが割り当て解除されたインスタンス 0x7e177fd0 に送信されました。mallocDebuggerツールからメモリリークを追跡しようとすると。

このクラッシュは常に発生しているわけではなく、10 分の 1 で発生しています

このメモリの問題から私を助けてください

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]; 

これは私が書いたコードです

4

2 に答える 2

0

コードを見てエラーを表示せずに、アクティビティインジケーターを解放し、それにアクセスしてアニメーション化しようとしていると仮定します..

解決策: .h ファイルでオブジェクトを宣言UIActivityIndicatorし、メソッドで合成して解放します-(void)dealloc

于 2012-04-13T13:05:37.783 に答える
0

これは、二重解放エラーか、ダングリング ポインターのいずれかです。Scheme の設定でゾンビ検出を有効にし、Instruments で Zombies インストゥルメントを試してください。

于 2012-04-13T13:07:12.010 に答える