2013-07-04 46 views
1

我正在创建桌面应用程序,导航将通过使用Kinect完成。 (我正在使用1.7 SDK中引入的新交互)。在页面之间导航时增加的内存使用量 - WPF - Kinect SDK 1.7

我跟着在线tutorial 我也注意到一些用户抱怨这个内存问题。

为了能够使用您的手进行导航,您的表单上需要有一个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); 

我把内存问题缩小到了2行。

每次我现在改变网页:

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

内存使用率增加(这是可以理解的),但它永远不会下降。

该部分代码位于每个新页面上,以将我的传感器绑定到该页面的kinect区域。

任何想法,为什么这可能是或我可以如何纠正? PS:我在教程中使用KinectSensorChooser,如果这样做有所帮助。

回答

0

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

我刚刚清除当我从页面导航离去的结合:

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

如果有人碰到过这样的记忆问题,就往this page看到WPF如何实际处理页面转换,这实际上是我真正的问题。