Монитор памяти, занятой моим приложением в Android - PullRequest
6 голосов
/ 20 июля 2011

Я пытаюсь оптимизировать объем памяти, который потребляет мое приложение.Когда мое приложение загружается (удерживая клавишу «Домой» и затем выбирая диспетчер задач), я вижу, что приложение занимает 17 МБ, но это значение не обновляется.Как я могу отслеживать это значение в режиме реального времени?У DDMS есть вариант для этого?Пожалуйста, будьте конкретны, я много искал и ничего не нашел.заранее спасибо

Ответы [ 3 ]

4 голосов
/ 25 декабря 2011

Другой более ориентированный на код метод отладки для отслеживания памяти появляется в https://stackoverflow.com/a/6471227/978329 со ссылкой на блог с дополнительной информацией.

Чтобы сделать его коротким, вы можете аккуратно поместить следующий код (или его улучшенную версию) в какое-то событие по щелчку и получить информацию в реальном времени в журнал или всплывающее сообщение:

View v = (View) findViewById(R.id.SomeLayout);

    v.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {

            Debug.MemoryInfo memoryInfo = new Debug.MemoryInfo();
            Debug.getMemoryInfo(memoryInfo);

            String memMessage = String.format("App Memory: Pss=%.2f MB, Private=%.2f MB, Shared=%.2f MB",
                    memoryInfo.getTotalPss() / 1024.0,
                    memoryInfo.getTotalPrivateDirty() / 1024.0,
                    memoryInfo.getTotalSharedDirty() / 1024.0);

            Toast.makeText(ThisActivity.this,
                    memMessage,
                    Toast.LENGTH_LONG).show();
            Log.i("log_tag", memMessage);
        }
        });   
3 голосов
/ 20 июля 2011

Да, вы можете использовать DDMS, здесь есть руководство . Смотрите в разделе «Просмотр использования кучи для процесса»

2 голосов
/ 20 июля 2011

Использовать анализатор памяти Eclipse

Здесь

После установки МАТ. В вашей IDE затмения в представлении Devices выберите свое приложение и нажмите Dump HPROF file. Он автоматически откроет мастер для вас, чтобы выбрать, какой анализ вы хотите выполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...