トップ回答者
Silverlightでメモリが増え続ける気がするのですが

質問
-
いつもお世話になっております。
現在、Silverlight 3で作成した業務アプリをIE7でホストしています。
基本的にIEを落とさないで使用するらしいのですが、使用し続けていくとメモリがどんどん増えていってしまいました。(最大でIEのメモリが1Gを超えました)簡単なアプリを作って試していたところ、Popupコントロールを使う部分で少しずつ増えていくような感じでした。(実際に確認したのはChildWindowとComboBoxのDropDownです)
試したことを簡単に書くと
1.Visual Studio 2008(SP1)でSilverlight3アプリを新規に作成
2.ChildWindowを追加してLayoutRootに「Button、TextBlock、Rectangle、ComboBox、ListBox」を適当に配置
3.MainPageにButtonを9個置く(何となくコントロールの数が多い方がリークが分かると思って・・・)
4.9個のButtonのClickイベントに同じハンドラを登録。内容は下記の通りprivate void Button_Click(object sender, RoutedEventArgs e) { ChildWindow1 dlg = new ChildWindow1(); dlg.Show(); }
5.「Buttonクリック -> 出てきたChildWindow1を閉じる」を、マウスの自動クリックプログラムを使って延々と繰り返す結果
・OSはVista/XPで、ブラウザはIE6~8で試したところ、大体増えます。(何かの組み合わせで増えないというわけではなく、極々たまに増えない時があるというか・・)
・12時間位続けたところ、40MByte位増える時もありました。
・Virtual PC上のWindows XPで試している時に一度×ボタンで閉じた(状態を保存する)ら復帰後は増えなくなった、ということもありました。
・プラグインをSilverlight 4(beta)にして試してみると増え方がなだらかになるような気がします。
・Windbg+sos.dllでダンプしてみましたが、managedオブジェクトの数は起動時と増えた後であまり変わりませんでした。(ChildWindow1は常に10個ほどでした)
・aspxでのホストが危険かも、という書き込みを見かけたのでhtmlでホストしてますが変わりませんでした。というようなことを半月ほど調べていたのですが手詰まりとなり、みなさんのお知恵を借りたいと思い書き込みました。
長文で読みづらいとは思いますが、何か情報があリましたらよろしくお願いします。2009年12月3日 8:28
回答
-
私は、この現象について情報を持っているわけではないのですが
再現性が高くて、再現手順が確立している場合は、Microsoft Connectで
聞いてみるといいかもしれません。
https://connect.microsoft.com/default.aspx
確かWindows Live IDあたりが、あれば登録できたような記憶があります・・・。
ここの会員制プログラム一覧の「Visual Studio and .NET Framework Japanで
いけると思います。
# Visual Studio and .NET Framework Japanのページから対象製品の部分を抜粋
Visual Studio 製品ファミリーは、Microsoft Visual Studio、Microsoft Team Foundation Server、
.NET Framework、Microsoft Silverlight、そしてMicrosoft Windows AzureTM Tools for Visual Studio を含みます。
かずき Blog:http://blogs.wankuma.com/kazuki/- 回答としてマーク puni 2009年12月4日 1:21
2009年12月3日 10:00
すべての返信
-
私は、この現象について情報を持っているわけではないのですが
再現性が高くて、再現手順が確立している場合は、Microsoft Connectで
聞いてみるといいかもしれません。
https://connect.microsoft.com/default.aspx
確かWindows Live IDあたりが、あれば登録できたような記憶があります・・・。
ここの会員制プログラム一覧の「Visual Studio and .NET Framework Japanで
いけると思います。
# Visual Studio and .NET Framework Japanのページから対象製品の部分を抜粋
Visual Studio 製品ファミリーは、Microsoft Visual Studio、Microsoft Team Foundation Server、
.NET Framework、Microsoft Silverlight、そしてMicrosoft Windows AzureTM Tools for Visual Studio を含みます。
かずき Blog:http://blogs.wankuma.com/kazuki/- 回答としてマーク puni 2009年12月4日 1:21
2009年12月3日 10:00 -
早速フィードバックしていただけたみたいですね。
https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=517969
情報がここで途切れないように、リンクはっておきます~。
かずき Blog:http://blogs.wankuma.com/kazuki/2009年12月4日 8:36 -
>早速フィードバックしていただけたみたいですね。
>https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=517969
あの内容では、下手するととりあってもらえません。
最低限
>試したことを簡単に書くと
と同程度に再現手順を書きましょう。
Connect は技術サポートではないので、その辺誤解の無いように。2009年12月4日 10:04