2

我正在編寫使用BackgroundMediaPlayer的多媒體應用程序(WP 8.1)。問題在於內存 - 後臺任務經常因OutOfMemoryException而崩潰。我嘗試通過代碼來查看是否有任何內存泄漏,但找不到任何內存泄漏。分析後臺任務的內存使用情況

我遇到了這篇文章,它描述了在運行應用程序上的內存分析 - http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/03/performance-profiling-on-windows-phone-8-1-with-visual-studio.aspx 如何實現後臺任務?或者還有其他方法來了解如何優化後臺任務的內存使用情況?

我已經嘗試過GC.Collect的作爲最後的手段,但並沒有幫助..

+0

問題不是泄漏,而是一個沒有被釋放的硬引用。我通常會發現這些隱藏的地方是不明顯的,它們是事件處理程序附加到您認爲已經發布的內存。 –

回答

2

安裝App Field Medic,通過USB連接手機和資源管理器打開文件夾This PC\Windows Phone\Phone\Documents\FieldMedic\CustomProfiles,在這條道路創建缺少的文件夾如所須。

下載此profile file,將其複製到電話上的CustomProfiles文件夾。

啓動Field Medic應用程序,轉到advanced,選擇custom下的多媒體內存配置文件。

enter image description here

現在運行您的應用,當你捕捉的記憶成長,回到現場軍醫,停止跟蹤的幾分鐘。將ETL文件從This PC\Windows Phone\Phone\Documents\FieldMedic\reports複製到您的PC和analyze it with Windows Performance Analyzer (WPA)