frame控件相当于一个嵌套在程序里的浏览器一样,它可以展示page类实例,拥有导航UI,可以通过NavigationUIVisibility属性来控制导航UI的可见性。
在做应用程序开发的时候发现,我把NavigationUIVisibility设为hidden了,在程序多点几个按钮是发现内存在不断上涨。(按钮的左右是展示不同page),后来发现,是frame控件在作怪,当一个新的page载入时,它不会把前面的page给释放掉,而是放在ui导航里
就像这样。
多点几个按钮就会发现,内存在不断的上涨,直到程序奔溃。
一开始的设想是找方法设置存在导航里的page数目数目,可是没有找到这个属性。 希望知道的通知可以告知,O(∩_∩)O!
后来就差MSDN发现,frame有一个RemoveBackEntry()方法,可以把历史导航里的前一条记录给删掉,这样就OK了,在每次载入一个page时,加入一个RemoveBackEntry()语句,就可以把前面记录的page删掉,这样内存就不会上涨了。
也许可以有其他控件承载PAGE实例,就不会出现内存暴涨的问题, 有知道的同学么?