メモリとの格闘
Star Fleet EmpireのCocoa版は、ようやくコンピュータAIの一部までたどり着いたのですが、メモリーリークでアプリがどんどん肥大化してしまい、メモリ対策に移っています。
XCodeにMalloc Debugというツールがあって、これでメモリーリークを調べて対策。これでメモリーリークはだいぶ収まったのですが、今度はautoreleaseの時に二重解放やら解放されたメモリにアクセスしちゃったり、不安定化。
[[NSArray alloc]init]だと、retainせずとも既に参照カウンターが1あがっているのですね。だけど、[NSArray arrayWithObject]だど、autoreleaseされた状態で、参照カウンターはメモリープール開放時に0になってしまう。こんなこともわからないでプログラム組んでたんでもう大変。
一週間くらいはメモリ対策に費やしそうです。
0 件のコメント:
コメントを投稿