假设我有两页Page1和Page2。 当我启动应用程序时,第1页正在加载,然后我可以选择转到第2页。然后我可以回到Page1。 问题是,如果我多次执行Page1-> Page2-> Page1,每次我在其上导航时都会调用Page2的构造函数(我猜这对于Page1来说是相同的),并且使用了越来越多的内存。 此外,如果应用程序暂停并恢复,则恢复方法被调用为Page2实例化的n倍。
有没有办法避免这种情况?
答案 0 :(得分:0)
默认情况下,每个导航都会创建特定的新实例 请求页面子类,并处理上一页面实例。这个 甚至在导航回到之前访问过的页面时或何时发生 新页面类型与上一页面类型相同。应用程序 涉及频繁导航到相同的页面可以缓存和重用 页面实例使导航更有效率。为此,请设置 CacheSize属性指定要缓存的页数。对于每个页面 要缓存的类型,还必须设置 Page.NavigationCacheMode属性为Enabled或Required。网页 无论CacheSize如何,都会缓存所需的缓存模式 值,并且不计入CacheSize总数。
参考Frame