在页面之间导航时增加了内存使用量-WPF-Kinect SDK 1.7

本文关键字:使用量 内存 -WPF-Kinect SDK 增加 之间 导航 | 更新日期: 2023-09-27 18:21:06

我正在创建一个桌面应用程序,导航将使用Kinect完成。(我使用的是1.7 SDK中引入的新交互)。

我遵循了一个在线教程我还注意到一些用户抱怨这个内存问题。

为了能够用手导航,表单上需要有一个Kinect区域,并且需要将传感器绑定到该区域。

// Bind the sensor chooser's current sensor to the KinectRegion 
var regionSensorBinding = new Binding("Kinect") { Source = this.sensorChooser }; 
BindingOperations.SetBinding(this.kinectRegion, KinectRegion.KinectSensorProperty, regionSensorBinding);

我把记忆力的问题缩小到这两行。

每次我换页面:

(Application.Current.MainWindow.FindName("_mainFrame") as Frame).Source = new Uri("MainMenu.xaml", UriKind.Relative);

内存使用量增加(这是可以理解的),但从未下降。

这段代码在每个新页面上,用于将我的传感器绑定到该页面的动态区域。

关于为什么会出现这种情况,或者我如何纠正这种情况,有什么想法吗?

附言:我使用KinectSensorChooser就像在教程中一样,如果这有区别的话。

在页面之间导航时增加了内存使用量-WPF-Kinect SDK 1.7

我终于找到了解决绑定问题的方法。

当我离开页面时,我刚刚清除了绑定:

BindingOperations.ClearBinding(this.kinectRegion, KinectRegion.KinectSensorProperty);

如果有人遇到这个内存问题,请访问这个页面,看看WPF是如何处理页面转换的,这实际上是我真正的问题。