我正在開發一個Windows 8本地應用程序。在應用程序中來回移動之後,我的應用程序正在崩潰。在分析上,使用內存分析器我發現每次我從一個頁面導航到另一個時,內存使用增加,儘管我設置null列表,webclient,字符串等所有對象爲空,然後調用GC.Collect之後NavigatedFrom事件。windows phone 8上的內存泄露
首先,我認爲這將是由於圖像,因此我從應用程序中刪除了圖像並進行了測試,但仍然沒有改變應用程序的內存使用情況。不知何故,GC.Collect無法正常工作並釋放內存。
我已經嘗試了下面提到的事情,但對我運氣不好的工作釋放內存,而不是結果保持不變。
我已經設置了圖像urisource爲null設置新源之前,然後調用GC.Collect來釋放內存使用,但它似乎並沒有釋放它
其次,我已經將所有對象爲null,並調用GC.Collect(),但它仍不能釋放手機應用程序的內存使用空間。
我也嘗試使用內存分析器進行分析,但我無法跟蹤任何內容。
我也經歷了所有的帖子,並實現了建議的東西,但GC.Collect()似乎沒有釋放內存。
是否有任何解決以下問題的方法。如何釋放從一個頁面導航到另一個頁面時消耗的內存?
這很可能你會得到答案。嘗試製作一個重現錯誤的最小程序。或者用探查器深入挖掘。 –
確保對「IDisposable」對象使用「using」語句。 – Polyfun
這很奇怪,在移除圖片後仍然存在問題,它通常是Windows Phone上泄漏的頭號來源。你如何從一個頁面導航到另一個頁面?你是否總是使用'NavigationService.Navigate'或者你有時使用'NavigationService.GoBack'?只要它位於後臺,頁面就會保存在內存中。 –