即使在空活动中,匕首也会导致高内存使用率

问题描述

我一直在尝试解决高内存使用率的问题。只有当我在我的 android studio 中进行了多次执行时才会发生这种情况。所以首先要确保,我卸载了应用程序,然后运行 ​​android studio。该应用程序将安装,一切都很好。等了一会儿检查内存分析器,但什么也没得到。一切都很好。内存使用很棒。 LeakCanary 中没有关于泄漏的报告,也没有经常调用垃圾收集。然后在 android studio 中重复运行该应用程序一段时间后,因为我目前正在开发它,我注意到该应用程序会在 2 分钟标记后崩溃。我检查了内存分析器,我是对的,内存使用量在 1-2 分钟内猛增。我不知道这是为什么。我检查了堆转储,没有报告泄漏。甚至 Leak Canary 也报告了 0 次泄漏。我只是在做一些 UI 修复而已。为了确保它不会发生在我的主要活动中,我创建了一个只有四个按钮的假活动,但内存使用量仍然会在 1-2 分钟内猛增。当我开始使用 dagger 2 时,这一直是一个问题。根据一些文章,使用自定义范围可能很昂贵,所以我不使用任何范围。我的应用程序并不复杂,我没有任何异步任务,而且我还没有使用任何协程 atm。这是我得到的图片

enter image description here

Leak canary 没有显示任何泄漏,所以我很困惑。我也没有关于活动的任何图片。我在应用程序级别实现了我的匕首组件。我的数据库是领域数据库,与房间相比更快,但我没有在我的活动自动取款机上使用它。有没有人和我一样遇到这个问题?只是想知道你弄明白了吗?

解决方法

感谢 Mark Keen 的评论。找到原因了。这是 sentry.io 调用 okhttp。我删除它,内存使用变得稳定。