2014-09-14 4 views
6

Я изучал использование памяти для приложения xamarin android, которое я создал, и он выглядел довольно высоко по сравнению с другими работающими приложениями на Android на разных устройствах (около 70 МБ после запуска на некоторое время) , Я начал исследование по этому поводу, сначала, сравнив использование памяти моего приложения с другими приложениями для xamarin android. Я просмотрел некоторые примеры приложений, таких как «Сотрудники» (доступны на первой странице студии xamarin или на сайте xamarin).Использование памяти приложения приложения Xamarin для Android

Я заметил, что при запуске этого приложения (и моего приложения) они последовательно используют около 25-30 МБ оперативной памяти, это происходит, даже если я не загружаю макет в основной активности запуска. Ожидается ли это? Это кажется довольно высоким, так как многие другие приложения, работающие на устройствах Android, могут получить этот максимум только после нескольких дней работы? Если это так, то мне просто нужно сделать все возможное, чтобы сделать приложение максимально эффективным, но я хотел уточнить, было ли это наблюдение другим?

Тем временем я смотрю предложение сайта разработчика Android по минимизации использования памяти (времени жизни и иерархии компоновки и т. Д.), Чтобы сделать все возможное, чтобы снизить остальную память.

Используя некоторые из стандартных инструментов (MAT, являющихся основной точкой начала), я изо всех сил пытался точно определить, что использует эта память.

Итак, мои вопросы: Является ли это типичным объемом памяти для приложения Xamarin для Android, которое будет потребляться при загрузке первой активности (даже до загрузки макетов) и каковы лучшие совместимые с xamarin инструменты для определения того, сколько памяти каждый процесс используется.

+0

Вы используете Xamarin Insights? http://stackoverflow.com/a/31423043/2851619 – baraka

+0

любое улучшение по этому поводу? Вы нашли свой ответ? –

ответ

3

Этот список рассылки может быть интересным: http://mono-for-android.1047100.n5.nabble.com/RAM-Usage-of-applications-written-with-monodroid-td5711289.html (это с 2012 года, так что, вероятно, с тех пор были улучшения).

Некоторые ключевые моменты:

Я заинтересован в использовании оперативной памяти приложений. Мы написали приложение с монодроидом, которое использует дополненную реальность, и его использование обычно составляет 50 МБ-60 МБ.

Отметьте, что цифры adb shell ps, как известно, вводят в заблуждение [...]. Для определения размера кучи Mono GC, вы должны использовать GC.GetTotalMemory()

Вы также можете взглянуть на Memory and Performance Best Practices и Garbage Collection статьи в документации Xamarin в.

+0

Спасибо за сообщение. Был интересен поток списков рассылки, хотя, к сожалению, сообщение от jonp на Xamarin только подтвердило, что этот размер был «стандартным» даже для приложения Hello World, хотя его исследования не смогли точно подтвердить, что именно использует эта память. –

Смежные вопросы