私のアプリケーションは、ライフサイクル全体にわたって必要な一時ファイルをいくつか作成します。私は最終的にそれらのファイルを処分する必要があるので、彼らはデバイス上のスペースを取ることはありません。アプリケーション終了時にそれらを削除できると思ったのですが、マルチタスクが導入されて以来、ライフサイクルはそれまでと同じくらい単純ではありません。私の主な質問は、アプリケーションがバックグラウンドに移行し、後で殺されると、applicationWillTerminate:
を受け取るのでしょうか?それとも、それは記憶から拭き取られただけですか?アプリケーションがバックグラウンドで強制終了された場合にクリーンアップを実行する方法は?
アプリケーションがバックグラウンドに移行したときにクリーンアップを実行できません。操作の途中でバックグラウンドになり、フォアグラウンドに戻ってから一時ファイルが必要になるためです。私は起動時にファイルを消去できると思うが、とにかくapplicationWillTerminate:
の動作に興味がある。
iPhone 4でゲームを作成している間でも、私は同じ問題を抱えていました。アプリケーションはアプリケーションを受信しませんでした:ユーザーがアプリケーションを終了し、ユーザの位置。しかし、あなたの場合、ポインタが指されていないとメモリが消去され、一時ファイルが自動的に削除されるのでメモリリークについて心配する必要はないと思います。 – Robin
メモリリークではなく一時ファイルについて心配しています。ただし、AFAIK、tmpフォルダはiTunesとの同期中に消去されます。 –