私は、サードパーティの開発者から提供されたアプリケーションをテストしており、アプリケーションを大量に使用した後、一見無作為の "0xeb2f0d0インスタンスを解放したメッセージ"というメッセージが表示されていることを確認しています。これは、通常のメニュー重度使用後に割り当て解除されたインスタンスに送信されたメッセージ?
それは終わりで正しく解放するようだクラスのロケーションマップ、から来ているに戻っていたとき:
//使用されていない任意のキャッシュされたデータ、画像などをリリース。 }
- (void)viewDidUnload {
//メインビューのいずれかを保持サブビューを解放します。 //例self.myOutlet = nil;私の人生のために }
- (void)dealloc {
[super dealloc];
}
@end
それが唯一の重い使用後に起こるなぜ、私が理解できない - 任意のアイデア?
おかげ
ニール
あなたのお返事ありがとうございます恵子、私はこれを試しました。最初の2回のメモリ警告は、同じエラーメッセージ(ただし異なるクラス)で即時に警告を出しました。しかし、次の2回はそれに対処しました。私は、iPhoneのシミュレータをリセットしてもう一度試してみると、それが起こる前に再生する時間が長くなることに気付きました。これはメモリの問題のようですね。 – Neil
はい、そうしたケースを処理するのはあなたの責任です。メモリの警告が発生した場合は、ビュー/ビューコントロールをアンロードしないように選択することができます(Appleのドキュメントをチェックしてください)。これはお勧めできませんが、一時的な解決策として動作します。ただし、重度の使用後にメモリの問題が発生した場合、これはメモリリークを示しているため、Instrumentsで調査する必要があります。 – Eiko