Не удается получить выделение на Android 4.4.4

Я попытался получить выделение памяти для своего приложения в Android Device Monitor. После того, как я нажимаю "Получить распределения", я вижу сообщение консоли [2014-07-03 08:41:36 - ddm-heap] *** Received REAL

Мои шаги.

  • Запустить приложение из Android Studio
  • Запустите монитор устройств Android.
  • Выберите вкладку "Приложение" на вкладке "Устройства".
  • Нажмите "Начать отслеживание" на вкладке "Отслеживание размещения".
  • Ожидание некоторое время.
  • Нажмите "Получить распределения"

Как я могу решить эту проблему и получить выделение? Android 4.4.4, Nexus 4.

Примечание. Те же приложения и те же действия на Android 2.3.7 работают.

Ответ 1

Прежде всего, сообщение, которое вы получаете, не является ошибкой. Если вы посмотрите на исходный код, вы увидите следующее:

private void handleREAL(Client client, ByteBuffer data) {
    Log.e("ddm-heap", "*** Received " + name(CHUNK_REAL));
    //...
}

Фактически это означает, что он получил информацию о распределении. Обратите внимание на то, что REAL = ответ на возвратный ALlocation.

Вы можете видеть, что позже в этом методе пользовательский интерфейс обновляется. Иногда он не отображает распределения. Обычно он работает, если вы просто щелкните Get allocations снова. Если это не сработает, перезапустите adb и повторите попытку. Почти всегда это решает мои проблемы.