Xamarin Profiler - 分配内存

时间:2016-03-11 09:13:30

标签: android performance xamarin profiler xamarin-forms

我想优化我的Xamarin.Forms应用,所以我开始使用 Xamarin Profiler ,我可以看到我的Android应用中分配的初始内存总是 50MB < /强>

应用程序启动时分配的内存为50MB,当我执行推送时开始增加大约+ 1.6MB,当我拉动页面时大约+ 0.2MB。

当然,我导航的越多,应用程序就越来越慢。

enter image description here

但我不知道这个数额是否合适,或者该应用程序是否消耗了太多内存。

伙计们,你能指点我一点吗?我正在使用MVVMCross(作为MVVM框架),我没有在MainPage中显示图像。

1 个答案:

答案 0 :(得分:0)

导航到页面时分配+ 1.6MB是正常的。但它应该在导航回来和GC呼叫后发布。

如果你没有缓存页面,所有内存都应该被释放,你不应该在拉页面后看到0.2MB,所以我认为你确实有内存泄漏。制作内存快照并在它们之间进行比较可以帮助您检测内存泄漏。

要检查内存泄漏的位置,可以执行以下步骤:

  1. 由于Profiler手动快照无法在最新(0.32)版本集中使用工具中的自动快照 - &gt;选项 - &gt;快照。我建议将其设置为GC选项。
  2. 制作快照(如果将自动快照设置为GC,请调用GC)
  3. 导航到要检查内存泄漏的页面。
  4. 导航回来
  5. 再次制作快照,
  6. 比较两个快照并检查未发布的内容
  7. 请尝试使用此link了解详情。

    我希望这篇文章对你有所帮助。