我正在構建一個Windows Phone應用程序,該應用程序可以在頁面中進行視頻捕獲,並在另一個頁面中具有自定義播放器。我使用自己的自定義編解碼器,因此播放器需要很多DispatcherTimer
才能跟蹤UI部件上的多個行爲,並以編碼器部分的良好幀速率爲影片提供服務。導航時應用程序變得越來越慢
我試圖釋放所有DispatcherTimer
,因爲我知道它們是CPU密集型的,但即使停止它們,我的應用程序仍然很慢。如果我按回來然後按照流程,每次速度除以兩。如果我不使用我的播放器,則可以。我的播放器只有3 DispatcherTimer
,一個FileStream和一個圖像框。
我覺得DispatcherTimer
仍然在內存中運行,即使它們在頁面上直接實例化爲私有,也是雙重實例化的。
我可以強制頁面釋放所有這些東西嗎?
其實我還不明白導航到當前頁面旁邊的頁面還是導航回來有什麼區別。我不知道如何在不調用InitializeComponents的情況下再次顯示頁面,所以我混淆了要釋放哪些資源以及保持完整的資源。
不錯!請接受你自己的答案:) – Oren
需要等待48小時:)我很驚訝使用OnNavigateTo和OnNavigateFrom如此重要,我認爲這是一種解決方法,但是微軟表示,它是處理用戶界面元素狀態的地方,一旦你在某處導航。 –