2

以下は本当ですか?

アプリが終了しようとしているときに、保持されているすべてのオブジェクトで release を呼び出してメモリをクリーンアップする必要はありません。iPhone OS は、アプリを起動したときにアプリに割り当てたメモリを再利用するためです。これは、アプリが自分で正しくクリーンアップすることに頼るよりも速くて安全です。これを確認するには、NSLog 呼び出し (またはデバッガー ブレークポイント) をアプリケーション デリゲートの dealloc メソッドに配置し、呼び出されないことを確認します。

そのため、アプリが終了しようとしているときにクリーンアップしても意味がありません。さらに、OS がアプリを消去するまでの時間は非常に限られているため、クリーンアップに時間を無駄にしないでください。ゲームやその他の関連するものを保存することに集中してください。

ソース (cocos2d-iphone.org)

4

1 に答える 1

4

はい。ドキュメントの引用:

重要: アプリケーションが終了すると、プロセスのメモリは終了時に自動的にクリアされるため、オブジェクトに dealloc メッセージが送信されない場合があります。すべてのメモリ管理メソッドを呼び出すよりも、オペレーティング システムがリソースをクリーンアップできるようにする方が効率的です。これは、dealloc メソッドの実装方法に影響します。「リソース管理」を参照してください。</p>

于 2009-10-15T09:48:06.580 に答える