Определить размер кучи приложения в Android

Я столкнулся с ошибками памяти в Firefox с высотой холста больше 8000, хром, похоже, обрабатывает гораздо больше, по крайней мере до 32000.

EDIT: после запуска еще нескольких тестов, ve обнаружил некоторые очень странные ошибки с Firefox 16.0.2.

Во-первых, я, кажется, получаю другое поведение из памяти (созданного в javascript) canvas в отличие от html объявленного холста.

Во-вторых, если у вас нет правильного html-тега и мета-кодировки, холст может быть ограничен 8196, в противном случае вы можете перейти до 32767.

В-третьих, если вы получить 2d контекст холста, а затем изменить размер холста, вы можете быть ограничены также 8196. Просто установив размер холста, прежде чем захватить 2d-контекст, вы можете иметь до 32767 без ошибок памяти.

Я не смог последовательно получить ошибки памяти, иногда это только при загрузке первой страницы, а затем последующие изменения высоты работы. Это файл html, который я тестировал с помощью http://pastebin.com/zK8nZxdE .

141
задан hpique 13 April 2010 в 16:07
поделиться

3 ответа

Вы имеете в виду программно или просто во время разработки и отладки? В последнем случае вы можете увидеть эту информацию с точки зрения DDMS в Eclipse. Когда ваш эмулятор (возможно, даже физический телефон, который подключен к сети) запущен, он отобразит список активных процессов в окне слева. Вы можете выбрать его, и есть возможность отслеживать выделение кучи.

0
ответ дан 23 November 2019 в 22:56
поделиться

Debug.getNativeHeapSize () , я думаю, поможет. Однако он существует с 1.0.

Класс Debug содержит множество отличных методов для отслеживания распределения и других проблем с производительностью. Кроме того, если вам нужно обнаружить ситуацию с нехваткой памяти, ознакомьтесь с Activity.onLowMemory () .

13
ответ дан 23 November 2019 в 22:56
поделиться

Официальный API :

Он был представлен в версии 2.0, где появились устройства памяти большего размера. Вы можете предположить, что устройства, работающие под управлением предыдущих версий ОС, используют исходный класс памяти (16).

20
ответ дан 23 November 2019 в 22:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: