2014-02-11 4 views
1

Я изучаю RAM-память, и я вижу, что helloworld из образцов android использует около 13 МБ памяти Android.
Как это происходит, если приложение имеет только действие с TextView?
И Что делать, чтобы уменьшить использование памяти? и , который использует больше памяти?RAM Память, используемая helloworld

+0

Theres, к сожалению, много издержек за кулисами (о которых вы ничего не можете поделать), даже если вы, как разработчик, предоставляете только незначительную сумму кода. Тем не менее, в более сложных приложениях есть определенные способы сделать проблему хуже. –

+0

попробуйте использовать MAT для анализа размера кучи и посмотрите, что именно сохраняется в ОЗУ для – thepoosh

ответ

2

Я вижу, что HelloWorld от андроида образцов использует около 13MB из памяти андроида

Вы не указать, каким образом вы измеряете это использование памяти.

Пожалуйста, прочитайте:

Обратите внимание, что использование памяти в современных операционных системах как Linux, чрезвычайно сложно и сложно площадь области. На самом деле шансы на то, что вы действительно правильно интерпретируете любые цифры, которые вы получаете, чрезвычайно низки.

Все, что вы используете, лежит за пределами того, что написано на этих постах, может быть или не быть точным. И даже интерпретация того, что говорит вам статистика процесса, - это немного сложная задача.

Как это происходит, если приложение обрабатывает только действие с помощью TextView?

Маловероятно, что ваше приложение имеет 13 МБ потребленного пространства кучи. То, что вы видите, вероятно, включает в себя память, совместно используемую другими процессами, для VM Dalvik, библиотеки платформ и классов инфраструктуры.

Разработчики Android должны заботиться о своем пространстве кучи, в первую очередь. Большая часть использования памяти за ней управляется платформой, а не вы (заметное исключение: загружаемые библиотеки NDK и память, которую они потребляют, для кода и данных).

Что делать, чтобы уменьшить использование памяти?

Наверное, ничего, потому что, вероятно, ничего не нужно делать.

Для более сложных приложений, о чем упоминается в комментарии, можно указать дамп кучи из DDMS и изучить это в MAT, чтобы узнать, не теряет ли ваше приложение память, что приводит к чрезмерному использованию кучного пространства.

Добро пожаловать в try using android.os.Debug to try to get a sense of how much the heap is being utilized at runtime.

И вы можете прочитать the documentation on memory usage.

+0

, поэтому у меня есть макет, который обновляет каждую кнопку, увеличивая кэш-память. это не мешает использованию памяти RAM? потому что приложение будет медленнее в каждом клике, не так ли? –

+0

@GH_: Я понятия не имею, что такое «кеш-память» или почему она увеличится, когда вы «обновите» макет. Следовательно, я не могу ответить на ваши вопросы, извините. – CommonsWare

+0

работает в фоновом режиме, в кешированном процессе ... –

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