我正在使用SharpDX处理应用程序,以将DirectX内容呈现到Windows Phone 8中的DrawingSurfaceBackgroundGrid。
我发现,如果应用程序通过快速应用程序恢复进入照片选择器或暂停/恢复,则内存利用率将增加约2mb,并且之前的资源将无法回收。这意味着使用DrawingSurfaceBackgroundGrid的基于DirectX的应用程序最终将在用户启动的操作上耗尽内存。
一旦使用SurfaceBackgroundContentProvider调用DrawingSurfaceBackgroundGrid.SetBackgroundContentProvider,就会启动泄漏。我使用的DrawingSurfaceBackgroundContentProviderNativeBase实现为所有抽象成员都有空的方法体。
可以找到一个孤立的复制品here。 Repro的步骤是:构建并运行应用程序,单击"选择照片",点击硬件返回按钮,观察内存峰值。
其他人看到过类似的东西吗?