最も奇妙なことが起こっています...私はかなり複雑なUIViewControllerサブクラスを持っており、そのサブクラスをNIBファイルを介してロードしています。次の手順を実行するだけで、ビューをプッシュできます。
SecondViewController2 *secV = [[SecondViewController2 alloc] initWithNibName:@"SecondViewController2" bundle:nil];
self.secondViewController2 = secV;
[secV release];
[self.navigationController pushViewController:secondViewController2 animated:YES];
[secondViewController2 release];
secondViewController2 = nil;
ご覧のとおり、secondViewController2をリリースします。
問題は、初めて実行したときに、secondViewController2でALTHOUGHのdeallocメソッドが呼び出された場合でも、解放されていないように見える追加の2MBをインストルメントで観察していることです。どんな種類の漏れもありません、私はすでにチェックしました。
2回目、3回目、4回目など、以下のアクションを実行すると、deallocが呼び出され、メモリ内の追加は観察されません。それだけで、同じコードが1回目、2回目、3回目に実行されているが、約2MBがリリースされていないのは初めてなので、コードでエラーを実行しないことを確信しています。私が述べたように、secondViewController2のdeallocはまだ実行中です!!!
何か案が?Appleのメカニズムのバグですか?