我正在编写一个使用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)
安装应用Field Medic,通过USB连接手机并在资源管理器中打开文件夹This PC\Windows Phone\Phone\Documents\FieldMedic\CustomProfiles
,根据需要在该路径中创建丢失的文件夹。
下载此profile file,将其复制到手机上的CustomProfiles
文件夹。
启动Field Medic应用程序,转到advanced
,在custom
下选择多媒体内存配置文件。
现在运行你的应用程序,当你捕获几分钟的内存增长时,回到Field Medic,停止追踪。将ETL文件从This PC\Windows Phone\Phone\Documents\FieldMedic\reports
复制到您的PC和analyze it with Windows Performance Analyzer (WPA)。