由于很多内存管理问题,Windows Phone 8.1 中的媒体管道似乎被破坏了。
当您在 Windows Phone Runtime 8.1 中创建使用 IMediaSource 流式传输音频的后台音频应用程序时,该应用程序的组件最终会引发 OutOfMemoryException,在某些情况下甚至会引发 StackOverflowException。查看内存转储时,里面有很多未收集的垃圾。
讨论已在MSDN 论坛上开始,并进展到这个结论。我创建了一个WPDev UserVoice 建议,以便 Windows Phone 团队能够注意到这一点,但我仍然希望是我(和 MSDN 论坛的其他人)错了,并且有解决该问题的方法。
我还有一个小型CodePlex 项目也受此影响,实际上那里有一个关于这个确切问题的问题报告。
我希望在社区的帮助下,这个问题可以得到解决或直接传递给微软开发团队进行调查和消除。谢谢!
更新1:
StackOverflowException 有一种解决方法,但它对 OutOfMemoryException 没有帮助。