2013-07-04 47 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如何實際處理頁面轉換,這實際上是我真正的問題。