作業が終了した後、MonoTouchアプリケーションでUIImage
sとsを破棄する必要がありますか?CGImage
それらのいずれかを処分することの効果は何ですか?
画像がまだ表示されている場合は、それらのいずれかを破棄しても安全ですか?
作業が終了した後、MonoTouchアプリケーションでUIImage
sとsを破棄する必要がありますか?CGImage
それらのいずれかを処分することの効果は何ですか?
画像がまだ表示されている場合は、それらのいずれかを破棄しても安全ですか?
using
次のような画像にはブロックを使用することをお勧めします。
using (var image = UIImage.FromFile ("demo.png"))
{
//do something with your image here
//such as passing it to an UIImageView.Image
}
オブジェクトがそのブロックを離れると、自動的に破棄されます。
Dispose()
または、UIImageを使い終わったことがわかったら、UIImageを呼び出すこともできます。
それらを破棄して大量の画像をロードしないと、最終的にメモリが不足します。この方法で大きな画像をロードするUIImage.FromBundle()
ことは、キャッシュされており、キャッシュがいつ破棄されるかを制御できないため、お勧めできません。
現在表示されているを破棄すると、画像への独自の参照が保持されるためUIImage
、は何も悪いことは起こりません。UIImageView
したがって、C#管理対象イメージのみが破棄されますが、必ずしもCocoatouchイメージである必要はありません。