Мое приложение принимает на память 250 МБ памяти. Когда я делаю кучу дампа и анализирую его. он говорит, что размер кучи около 7 мб

Есть ли другая память, которая используется, которая не отображается на куче кучи? Я использую Memory Analyzer на Eclipse. Сначала я сбрасываю кучу с помощью DDMS и Memory Analyzer. это только показывает, что размер кучи составляет 7 мб, а гистограмма в основном говорит мне, что все в порядке. Тем не менее, я загрузил несколько приложений мониторинга памяти на моем устройстве, и все они говорят, что мое приложение принимает 250 МБ, и оно продолжает расти.

Как еще я могу попытаться выяснить, почему он берет столько памяти?

enter image description here

enter image description here

Ответ 1

Приложения для измерения памяти не стоят особого, так как, цитируя Dianne Hackborn:

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

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

также:

  • Если у вас более одного процесса, имейте в виду, что дамп кучи DDMS предназначен для одного процесса

  • Если вы выполняете собственную разработку с использованием NDK, распределения NDK не являются частью управляемой кучи и поэтому не включены в дамп кучи