android - Android Studio 中具有高内存分配的堆转储永远不会完成

标签 android android-studio memory heap-dump hprof

<分区>

我们有一个应用程序,在 Activity 之间导航时,内存分配从 30 MB 左右跳到 500 MB 以上。我可以在发生这种情况时跟踪分配,并查看内存中保存了什么,但我想创建一个堆的 HPROF 文件,这样我就可以将它加载到 MAT 中并更好地了解什么正在使用该内存。

但是,当我尝试创建一个转储时,它只在内存图上显示一条虚线和微调器,并且(似乎)一直没有结束。我可以创建具有较低分配的转储而没有任何问题,但是分配了 500+ MB,我似乎无法做到这一点。

我已经查找了该场景的已知问题,但找不到任何问题。有没有我可以更改的设置来帮助它,或者我可以做些什么来解决问题?如果不对堆进行很好的分析,我就不知道内存中发生了什么。

注意:我不是在寻求内存问题本身的帮助,ATM,我最感兴趣的是如何让堆转储工作。

最佳答案

我相信此链接会对您的发现有所帮助。我是通过这种方式完成的这里是链接:Memory Profiler

关于android - Android Studio 中具有高内存分配的堆转储永远不会完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41516741/

相关文章:

java - 使用集合对象还是Java传输对象的性能比较(以堆大小而言)

android - 当您必须使用父 Activity 引用时,如何使用 `FragmentScenario` 单独测试 Fragment

android - BuildConfig.DEBUG 总是返回 false

android - Navigation.findNavController()无法找到 View

java - Android Studio 无法启动 Ubuntu 找不到主类

c - 带有指向 const 数据的目标指针的 memcpy

android - 通过多项选择在 ListView 中获取未选中的项目

java - Android - 检测流结束而不是 MediaPlayer 中的连接错误

安卓工作室 : ZipException duplicate entry custom class

memory - cpu 如何决定将哪些数据放入哪些内存(ram、缓存、寄存器)?