2013-01-18 60 views
2

我們有一個存在內存問題的企業silverlight應用程序(Silverlight版本5.1.10411.0)。Silverlight和內存

當silverlight應用程序運行在一臺快速計算機(intel I7和> 4 GB內存)上時,內存使用量在500〜800mb之間,但是當它運行在較慢的計算機上時(intel I5或I3和< 4GB內存)永遠不會被調用,並且內存使用量會不斷增加並增加,直到系統崩潰。

我試着手動調用GC,但不能在較慢的計算機上工作。

我測試了8臺不同的電腦,但結果是一樣的。

如果所有計算機的內存使用行爲都相同,我可能會懷疑內存泄漏,但是它是如何發生在較慢的計算機上的?

回答

0

您是否使用ClientHttp並將AllowWriteStreamBuffering設置爲false?這個功能有一堆bug,包括引起不受控制的內存泄漏(至少在Mac上)。否則,它可能是你的代碼中的一個錯誤。在C#中存在內存泄漏很容易。只是不要釋放引用(還有一些涉及事件處理程序和其他事物的不可見引用的棘手案例)。 GC不能做什麼。但是,這並不能解釋行爲上的差異。