私がゲームを開発しているとしましょう。次のクラス メソッドを何千回も実行します。
NSBundle *bundle=[NSBundle mainBundle];
自動解放プールを作成せず、上記のクラス メソッドを呼び出すオブジェクトを常に解放します。オブジェクトを作成し、それが上記のクラス メソッドを呼び出し、それを解放し、何度も何度も繰り返します。
3 つの質問:
- メモリリークですか?
- 私が走った場合:
NSAutoReleasePool *pool=[[NSAutoReleasePool alloc] init]; [プールドレイン];
クラスメソッドで作成されたすべてのNSBundleを効果的に解放しますか?
- 私が書いた場合:
プール=ゼロ;
書く代わりに:
[プールドレイン];
同じ効果が得られるでしょうか?これは良い習慣ですか?
3つの質問は相関しており、それらを明確にするものを後押しします:)