У меня есть приложение, которое выделяет и освобождает много памяти (в основном, растровые изображения). Я очень осторожен с освобождением памяти и т. Д., И приложение никогда не падает из-за нехватки памяти. Для любой 2.x ОС Debug.getNativeHeapAllocatedSize () всегда возвращает что-то, что имеет смысл. Однако при запуске того же приложения в 3.x Debug.getNativeHeapAllocatedSize () продолжает расти. На самом деле, в XOOM, если я запускаю приложение достаточно долго, возвращаемое значение выходит далеко за пределы кучи устройства (которая составляет 256 МБ). Мне удалось получить его до 350 МБ, прежде чем я прекратил тестирование. В то же время, при запуске Eclipse Memory Analyzer он не показывает никаких проблем с памятью. Кажется, все выпущено, как и ожидалось.
Теперь я склонен верить анализатору памяти, но что происходит с getNativeHeapAllocatedSize ()? Это просто неправильно, или я не понимаю, что это дает мне для Сота? Если это неправильно, то как я могу найти объем памяти, который я использую во время выполнения?
Спасибо!