2

メモリの問題があるエンタープライズ Silverlight アプリケーション (Silverlight バージョン 5.1.10411.0) があります。

Silverlight アプリケーションが高速コンピューター (インテル I7 および 4 GB メモリを超える) で実行される場合、メモリ使用量は 500 ~ 800 MB ですが、低速コンピューター (インテル I5 または I3 および 4 GB メモリ未満) で実行される場合、GC は呼び出されないようです。メモリ使用量は、システムがクラッシュするまで増加し続けます。

手動で GC を呼び出そうとしましたが、低速のコンピューターでは機能しません。

8 台の異なるコンピューターでテストしましたが、結果は同じです。

メモリ使用量の動作がすべてのコンピュータで同じである場合、メモリ リークが疑われますが、遅いコンピュータでしか発生しないのはなぜですか?

4

1 に答える 1

0

ClientHttp を使用し、AllowWriteStreamBuffering を false に設定していますか? この機能には、制御不能なメモリ リークの原因となる (少なくとも Mac では) など、多数のバグがあります。それ以外の場合は、コードのバグである可能性があります。C# ではメモリ リークが発生しやすいです。参照を解放しないでください (そして、イベント ハンドラーやその他のものが関与する、目​​に見えない参照のトリッキーなケースがいくつかあります)。GC にできることは何もありません。ただし、それは動作の違いを説明しません。

于 2013-01-21T15:29:18.450 に答える