私のアプリケーションは、最も単純な形式で、それぞれが画像を含む10個のUIImageViewsを表示します。すべてのUIImageViewsに画像が含まれていても、私のアプリは十分なメモリフットプリントを使います。ただし、UIImageViewsのすべての画像をnilに設定することで、すべてのUIImageViewをクリアするボタンがあります。問題は、Instrumentsのメモリモニタをチェックするとき、UIImageViewsが保持するメモリがなくなっていないことです。これはAllocations楽器には表示されず、残りのメモリフットプリントがオブジェクトではなくグラフィックスベースのメモリであることが確認されます。イメージのサイズを小さくしたり大きくしたりすると、残っているメモリもそれぞれ小さくなります。UIImageViewはイメージデータを正しく解放していませんか?
なぜUIImageViewの画像がnilに設定された後に画像データが固執するのですか?
理論的にはこのアプリはメモリ警告を受け取ったときに解放されませんか?それは警告にもかかわらず、私のアプリで持続する。 –
はい、メモリの警告を受け取ったときにそれらのキャッシュがクリアされていることがわかりましたので、問題があるようです。私は私の答えを更新します。 –