0

作業が終了した後、MonoTouchアプリケーションでUIImagesとsを破棄する必要がありますか?CGImageそれらのいずれかを処分することの効果は何ですか?

画像がまだ表示されている場合は、それらのいずれかを破棄しても安全ですか?

4

1 に答える 1

3

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イメージである必要はありません。

于 2012-10-07T14:12:02.040 に答える