1

私は彼らがそうすることをほぼ確信しています...しかしただ確認したかったのです...例えば次のコードを見てください。

- (void)reset {
NSNumber *zero = [NSNumber numberWithInteger:0];
[self setCount:zero];
}

これで、自動解放されたオブジェクトが返されます。このオブジェクトは、アプリの自動解放プールに追加され、サイズが大きくなります...

アプリが終了しない限り、これは解放されません。どんな助けでも大歓迎です

4

1 に答える 1

4

メモリは、アプリケーションのメインイベントループを通過する次のパスで解放されます。

正確な時間は、アプリケーションがコードの実行を終了してイベントループに戻るタイミングによって異なります。スケジュールされているタスクの中で、アプリケーションの自動解放プールを空にする(排出する)のは、イベントループ中です。

自動解放プールのサイズが大きくなることが心配な場合は、独自の自動解放プールを戦略的に使用できます。

于 2012-04-14T14:07:14.787 に答える