2015-09-11 4 views
11

У меня проблема с массивной памятью на определенных устройствах, где тонкая память выделяется из ниоткуда. Я пытаюсь сделать heapdump, чтобы выяснить, что выделение памяти, но при попытке открыть файл heapdump, я получаю сообщение об ошибке в Android Studio:Неожиданные ошибки при обработке файла hprof: null

HprofView - Unexpected error while processing hprof file: null

Error occurring

I Я сделал несколько поисков в Интернете, но, насколько я могу судить, никаких ссылок на эту ошибку нет. Мне просто нужна помощь, чтобы получить кучу кучи, я могу исправить свое приложение оттуда.

Edit: Я попытался преобразования файла дампа, но он дал мне еще одну ошибку:

Convert Android Java Heap Dump - Unexpected error while converting heap dump: ERROR: read 16710959 of 33177623 bytes

error when trying to export to standard hprof

+0

же делать я на Nexus 6 с Android 5.0, и только один запущенное приложение потребляет около 170Мб Я понизил свой Nexus 6 до Android 5.0 и не запомнил иметь такие проблемы на Android 6.0 - но может быть я Я ошибаюсь – Art

+0

Работа с той же проблемой. Вы когда-нибудь находили решение? – ryye

+0

@ryye, к сожалению, нет, я не решил эту проблему. Я закончил тем, что исправил проблему с основной памятью в своем приложении, поэтому мне не пришлось решать эту проблему с тех пор. Я как бы надеялся, что кто-то из команды разработчиков AS увидит это и что-то с этим поделает. К сожалению, это не привлекло внимания. – nukeforum

ответ

0

Я не могу дать однозначный ответ, но по моему опыту, похоже, происходит, когда приложение близко к пределу использования памяти. Это, очевидно, не идеально, когда вы пытаетесь отладить OutOfMemoryError!

2 вещи, которые я могу предложить, чтобы обойти эту проблему:

  1. Попробуйте использовать другое устройство/эмулятор. например Я обнаружил, что эта проблема довольно часто встречается на моем Samsung S5, но на моем Nexus 4. происходит реже.
  2. Приостановить приложение некоторое время до у него заканчивается память, а затем получить кучу кучи в этой точке. Это не идеально, но утечки памяти, как правило, вызывают проблемы со временем, а не сразу, поэтому вы все равно сможете диагностировать утечку.
+0

К сожалению, это не помогает. Я могу получить кучу кучи, но Android Studio не может отображать их, за сообщения об ошибках, которые я предоставил. – nukeforum

+0

Кроме того, проблема, с которой я сталкивалась с распределением, не была утечкой памяти, насколько я могу различить. ** Это происходило только на определенных устройствах ** и составляло 400 МБ менее чем за секунду. Это было очень конкретно 400 МБ и никогда больше или меньше. Распределение, как оказалось, произошло между вызовами активности после 'startActivity()' и перед 'onCreate()'. – nukeforum

+1

Вы получаете файл с суффиксом .hprof, но я не думаю, что это допустимый сброс кучи. Я думаю, что у него заканчивается память *, в то время как он захватывает кучу кучи *. Я никогда не слышал о проблеме, которую вы описываете, но у вас есть мои симпатии! – vaughandroid

Смежные вопросы