2013-07-02 15 views

回答

0

當您從PhoneApplicationPage導航回來,然後再運行它時,運行庫創建它的一個新實例。因此,你看到這種記憶力增加。通常沒關係,因爲垃圾回收器會在需要時回收未使用的實例。

+0

我用'GC.Colect()',但內存仍然增加。當我回到MainPage並且很多時候轉到ListItems頁面。內存增加,直到應用程序崩潰(內存不足)。 – Newbie86

0

您必須在每次到達onNavigateTo()的任何頁面時清除堆棧,所有頁面都保持堆棧並且GC.Colect()無法刪除您的堆棧。

int a = NavigationService.BackStack.Count(); 
     while (a > standerdCount) 
     { 
      this.NavigationService.RemoveBackEntry(); 
      a = NavigationService.BackStack.Count(); 
     } 

standerdCount是堆棧數,當應用達到頁第一次。

或者,您可以在從ListItem Page導航到MainPage時使用NavigationService.GoBack()

+0

雖然你也可以使用list.clearAll(),但通過清除列表內存可以解決問題。 – Abhishek