我正在创建一个带有框架的MainWindow的WPF应用程序,并导航到该框架中的不同页面。
<Grid Name="MainGrid">
<Frame x:Name="Something" NavigationUIVisibility="Visible" />
导航:
YouFrame.Navigate(PageX);
问题是:因为这应该是一个必须全天运行的应用程序,一周中的每一天都有很多页面,控制内存使用是最基本的。
当我在页面之间导航时,内存未按预期释放。 例如: 如果我导航到带有带照片的滚动查看器的页面,我会得到正常的内存增加。 但是,当我导航到其他页面时,它不会释放我不再需要的内存。例如,如果我使用带有照片的scrollviewer返回页面,我会转到我第一次离开页面时滚动查看器的相同位置,这表示由于某种原因它保持页面处于活动状态而不是释放资源。
当然我用谷歌搜索了它,在页面中放置了KeepAlive = false,清除了NavigationService中的BackEntrys,尝试了与Frame,Pages甚至是MainWindow的不同方法,我记得的一切。
如果有人给我一个提示,我将不胜感激