2016-03-11 32 views
0

我想優化我Xamarin.Forms的應用程序,所以我開始使用Xamarin探查,我可以看到,在我的Android應用程序分配的初始內存總是圍繞50MBXamarin探查 - 內存分配

當應用程序啓動時,分配的內存爲50MB,當我進行推送時,分配的內存開始增加大約+ 1.6MB,當我拉動頁面時,開始增加大約+ 0.2MB。

當然,我導航越多,應用程序越慢越慢。

enter image description here

但我不知道這是否量確定或如果應用程序佔用過多的內存。

夥計們,你能讓我對此有更多的瞭解嗎?我正在使用MVVMCross(作爲MVVM框架),並且我沒有在MainPage中顯示圖像。

回答

0

導航到頁面時分配+ 1.6MB是正常的。但是在導航返回和GC呼叫之後它應該被釋放。

如果你沒有緩存頁面,所有的內存應該被釋放,你不應該看到拉動頁面後增加0.2MB,所以我認爲你確實有內存泄漏。製作內存快照並在它們之間進行比較可以幫助您檢測內存泄漏。

若要檢查內存泄漏可以做下面的步驟:

  1. 因爲探查手動抓拍不工作的最新版本(0.32)版本的工具集自動快照 - >選項 - >快照。我建議將其設置爲GC選項。
  2. 創建快照(如果將自動快照設置爲GC選項,則調用GC)
  3. 導航到您要檢查內存泄漏的頁面。
  4. 導航回到
  5. 再次
  6. 創建快照,
  7. 兩個快照之間的比較和檢查什麼沒有公佈

試試這個link獲取更多信息。

我希望這篇文章對你有所幫助。