オブジェクトの内容をメモリから手動でクリアすることは可能ですか?
特に、 を扱っていNSData
ます。と を使ってみましdata.length = 0
たdata.setData(NSData)
。
ARC
それが属する範囲外になった後、入ってクリーンアップすることは わかっていますが、必要なときにこのプロセスを手動で強制することは可能ですか?
オブジェクトの内容をメモリから手動でクリアすることは可能ですか?
特に、 を扱っていNSData
ます。と を使ってみましdata.length = 0
たdata.setData(NSData)
。
ARC
それが属する範囲外になった後、入ってクリーンアップすることは わかっていますが、必要なときにこのプロセスを手動で強制することは可能ですか?
ARC について誤解していると思いますが、解決したいと思います。ARC の目標は、メモリ リークが発生しないようにすることです。ライフサイクル全体にわたってオブジェクトを追跡し、オブジェクトへの参照が残っていないときにオブジェクトが「解放」されるようにする責任があります。
「解放」されるメモリは、「すべてを 0 で上書きする」ことを意味しないことに注意することが重要です。
これは単に、メモリが未使用として指定されることを意味します。解放されたメモリは、システムが新しいオブジェクトにメモリを割り当てる必要がある場合に、割り当ての候補になります。
ただし、この再割り当てが発生するという保証はありません。したがって、解放されたメモリに元のデータが含まれ、上書きされない可能性が非常に高くなります。