处理hprof文件时出现意外错误:null

nuk*_*rum 11 android android-studio

我在特定设备上遇到了大量内存问题,其中无处不在地分配了大量内存.我正在尝试使用heapdump来确定分配内存的内容,但是当我尝试打开heapdump文件时,我在Android Studio中收到错误:

HprofView - Unexpected error while processing hprof file: null

发生错误

我已经完成了一些网络搜索,但据我所知,没有任何关于此错误的引用.我只需要帮助获取堆转储,我可以从那里修复我的应用程序.

编辑:我尝试转换转储文件,但它给了我另一个错误:

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

尝试导出到标准hprof时出错

vau*_*oid 0

我无法给出明确的答案,但根据我的经验,当应用程序接近其内存使用限制时,似乎会发生这种情况。当您尝试调试OutOfMemoryError!时,这显然不理想。

我可以建议两件事来解决这个问题:

  1. 尝试使用不同的设备/模拟器。例如,我发现这个问题在我的 Samsung S5 上很常见,但在我的 Nexus 4 上很少发生。
  2. 在内存耗尽之前暂停应用程序一段时间,然后在此时获取堆转储。这并不理想,但内存泄漏往往会随着时间的推移而不是突然出现问题,因此您仍然应该能够诊断泄漏。