0
我有一個主 - 細節的關鍵。樞軸包含5個PivotItems,每個都有十幾個項目。每個項目都有細節頁面。從大型主軸導航後進行內存清理。
現在我注意到它非常消耗內存。所以我正在考慮減少內存使用量的方法。
- 我感動PivotItems加載到IndexChanged事件(所有樞紐項目從基本支點類繼承,並呼籲透視其OnPivotItemActivated(),其中所有的初始化完成)。
- 現在我正考慮從內存中上傳所有PivotItem的內容,同時轉到詳細信息頁面。我怎樣才能做到這一點?只需將ItemsList設置爲null?
我擔心的事情是通過事件保留一些未使用的對象的引用,如在這種情況下:http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/02/01 /memory-profiling-for-application-performance.aspx 所以,主要問題是:如果ItemsList = null會是否足夠,或者我還應該通過列表並將所有圖像源設置爲空? 另外,可能,我應該嘗試僅在調試模式下調用GC.Collect(),並查看會發生什麼。 –
如果問題在於您已經通過事件獲取了對象的引用,那麼GC.Collect將無法工作,因爲您已經獲得了對該對象的引用。當你拋棄物體時,你需要在清理過程中刪除對事件的引用。 –
但是有沒有任何引用,會自動出現?另外,什麼是最有效的方法來刪除所有事件訂閱?只是在活動內部取消訂閱?但是,如果事件永遠不會發生呢? –