iOSアプリケーションにNSCacheを使用しています。私はそれが自分の記憶を扱うことを知っていますが、私はそれを手作業でパージしたいと思います。 removeAllObjectsにそれを伝えると、私のメモリ使用量はInstruments Allocationsには表示されません。NSCacheの使用:メモリを消去または削除しないでください。
これが起こる別の方法がありますか、それが私の考え方を記憶していませんか?
iOSアプリケーションにNSCacheを使用しています。私はそれが自分の記憶を扱うことを知っていますが、私はそれを手作業でパージしたいと思います。 removeAllObjectsにそれを伝えると、私のメモリ使用量はInstruments Allocationsには表示されません。NSCacheの使用:メモリを消去または削除しないでください。
これが起こる別の方法がありますか、それが私の考え方を記憶していませんか?
NSCacheは、追加するオブジェクトを保持します。
オブジェクトをキャッシュに追加して解放しないと、保持カウント2になることはありますか?ポストされたコードでその動作を再現する小さなスニペットに絞って、それを狭めるのに役立ちます。ドキュメント毎の
:
キーと値のペアがキャッシュ内にある間、ガベージコレクションが有効である場合、キャッシュはそれに強い の参照を保持します。メモリ管理の コードのには、の項目が保持されます。
また、ここでは、NSCacheと割り当てを使用したビデオを示します。この例では、メモリ警告の下でAllObjectsを削除できます。 ...
http://speirs.org/blog/2010/6/30/using-instruments-to-learn-about-nscache.html
おかげで、彼らはメモリ警告をシミュレートし、それが動作するはずですので、メモリフットプリントを削減しません。私はメモリリークがあるのを見ていないので、それは2の保持カウントを持っているとは思わない。私は小さな例を試し、ビデオを見てみましょう。 –
OK - コードを絞り込んで投稿することができれば、それは良いことです... – bryanmac