Silverlightアプリケーションでいくつかの問題に直面しています。
私のアプリケーションは画像マネージャーのように見えます。いくつかの画像を開いたり、編集したり、表示したりすることができます。
私の問題は、いくつかの画像を追加し、これらの画像を削除した後、これらの画像を追加する前に使用されていたのと同じ量にメモリが戻らないことです。これらの操作を繰り返しても(画像を追加し、これらの画像を削除した後)、メモリの増加は止まりません。
なぜそれが起こるのですか?
このシナリオを再現するための新しいSilverlight5プロジェクトを作成し、いくつかのコードをテストして、何が起こっているかを見つけてみます。
新しいプロジェクトには、StackPanelと次のアクションを備えた3つのボタンがあります。
1-StackPanelに1000個のボタンを追加します。
2-StackPanelのすべての子を削除します。
3-GC.Collectを呼び出します。
同じアクションを繰り返し呼び出します:add(1)、remove(2)、GC(3)を呼び出します
同じアクション(追加と削除)を数回繰り返した後。私は最初のアプリケーションと同じ結果を観察しましたが、メモリの増加が止まりません。GC.Collectを呼び出した後でも、メモリは解放されません。私は今何が起こっているのかわかりません。Silverlightのメモリリークの可能性はありますか?