Я попытался проанализировать потребление памяти моим приложением. Итак, у меня есть файл .hprof. Сумасшествие сейчас в том, что я получаю разные результаты практически с каждым программным обеспечением.
Я взял образец класса, где я сравнил все значения. Почти все числа равны, кроме Retained memory.
Например. Числа для нераспределенной памяти в этих инструментах:
- Открытие HPROF в Eclipse Memory Analyzer: 984
- Анализатор памяти Eclipse слева Информация: 456
- Открытие HPROF в Android Studio: 470
- Чтение HPROF с Perflib от Google: 568
Почему такая большая разница между этими инструментами? Был ли у кого-нибудь из вас подобный опыт?
Если я изучу детали в Android Studio класса CommunicationManager, я получу следующее представление и увижу, что Shadow$_klass имеет то же значение (568), что и Perflib. Глянь сюда:
Журнал консоли PerfLib:
Вывод perflib показывает число, которое возвращает ClassObj, когда я вызываю «getTotalRetainedSize()».
Но с левой стороны в Eclipse Memory Analyzer я вижу следующее: