2016-03-11 13 views
0

Я хочу, чтобы оптимизировать Xamarin.Forms приложения, поэтому я начинаю использовать Xamarin Profiler, и я могу видеть, что начальная память, выделенная в моем Android приложения всегда вокруг 50MB.Xamarin Profiler - Память, выделенная

Выделенная память составляет 50 МБ при запуске приложения, и она начинает увеличиваться примерно на + 1.6 МБ, когда я нажимаю и обходится + 0.2 МБ, когда я вытаскиваю страницу.

Конечно, чем больше я перемещаюсь, приложение идет медленнее и медленнее.

enter image description here

Но я не знаю, если эта сумма OK или, если приложение потребляет слишком много памяти.

Ребята, не могли бы вы сориентировать меня немного больше об этом? Я использую MVVMCross (как MVVM framework), и я не показываю изображения в MainPage.

ответ

0

Выделение + 1.6MB при переходе на страницу в норме. Но он должен быть выпущен после навигации и вызова GC.

Если вы не кешируете страницы, вся память должна быть выпущена, и вы не увидите 0.2MB после того, как потянете страницу, поэтому я думаю, что у вас есть утечка памяти. Создание снимков памяти и их сравнение могут помочь вам обнаружить утечки памяти.

Чтобы проверить, где утечка памяти можно сделать следующие шаги:

  1. Поскольку Profiler ручной снимок не работает в последней (0,32) версия установлена ​​Auto Snapshot в Сервис -> Параметры -> снимкам. Я рекомендую установить его в вариант GC.
  2. Сделать снимок (вызовите GC, если вы установили опцию автозапуска для опции GC)
  3. Перейдите на страницу, где вы хотите проверить утечку памяти.
  4. Navigate назад
  5. Сделать снимок снова
  6. Сравнение между двумя снимками и проверить, что не был выпущен

Попробуйте link для получения дополнительной информации.

Я надеюсь, что этот пост будет полезен для вас.