我的UWP包含一个用于绘图的Canvas视图。我在这个视图中使用win2d进行绘制。如果我将此视图保留为激活视图然后睡眠/唤醒设备,我的应用程序将被终止,例外:
System.Exception:必须在同一个工厂实例中创建一起使用的对象。
我没有抓住或做任何与暂停和恢复事件有关的事情。如果我将其他视图保留为actived,则不会发生此问题。有谁知道这个问题?
答案 0 :(得分:3)
我的猜测是您的应用可能遇到丢失的图形设备。 Win2D将自动从中恢复,创建新设备,并再次引发CreateResources事件,让您知道为这个新设备创建新资源。我怀疑你没有完全重新创建CreateResources处理程序中的所有内容,所以你最终使用旧的不再有效的设备中的某个对象与新的有效设备中的其他对象。
更多信息:http://microsoft.github.io/Win2D/html/HandlingDeviceLost.htm