アプリが大量のメモリを要求しているため、メモリの警告が表示されます。私はすべての割り当てを解放しようとします。とはいえ、やり方がわからないこともあります。
例: .h ファイルと .m ファイルの 2 つのペアがあります。それらの 1 つはサーバーとの接続を確立し、もう 1 つはローカル SQLite との接続を確立します。
通常、これらのファイルからメソッドを呼び出すコードは次のようになります。
-(NSMutableArray *) getRecentActivity{
LocalStorageController *local = [[LocalStorageController alloc]init];
return [local getRecentActivity];
}
getRecentActivity は NSMutableArray を返します。
そのコードでは、LocalStorageController にメモリを割り当てていることがわかりますが、リリース メソッドを呼び出すことはありません。したがって、その関数を呼び出せば呼び出すほど、より多くのメモリが割り当てられると思います。
初期化後に autorelease を呼び出すと、クラッシュします。
さらに、通常、私はこの別の種類のコードを使用します。
ServerConnection *serv = [[ServerConnection alloc]init];
NSMutableArray list = [serv getMyListOfContacts];
これは ASIHTTPRequest を使用し[serv release];
、2 行目の後に呼び出すと、ASIHTTPRequest ライブラリの行を指す EXC_BAD_ACCESS でアプリがクラッシュします。
この状況をどのように管理すると考えられますか?
どうもありがとうございました!