java - 如何在 Java / Android 中查找内存泄漏
问题描述
我在我们的一个应用程序中遇到了很多内存泄漏问题,不知道下一步该往哪里看。我知道有人问过类似的问题,但没有人有任何有用的答案。
当我们在 android studio 中使用分析器时,它显示“本机”内存增加得非常快,并且在使用该应用程序大约 10-15 分钟后,它会因内存泄漏而崩溃。
我们的应用程序完全用 java 和 kotlin 编写,我已经查看了任何静态对象,或者保存在可能不会被垃圾收集器收集的伴随对象中的对象,但除了一些静态字符串之外别无其他,比如TAG
用于日志记录的.
我们尝试使用泄漏金丝雀,但它似乎找不到任何内存泄漏并不断告诉我们我们的应用程序很好。我什至故意通过静态保持一个 android 活动上下文来添加一个泄漏,只是为了确保泄漏金丝雀正在工作,而且确实如此。
还有其他我应该注意的可能会导致我的 java 代码内存泄漏的事情吗?我可能持有的任何特定对象导致此问题?
解决方案
推荐阅读
- haskell - Haskell如何删除字符串中的多余空格
- android - 如何查看文本di viewHolder
- javascript - 如何修复 Facebook OAuth OAuthException 代码 191?
- javascript - Object.keys() 数组,其中一个元素被视为字符串?
- python - statsmodels.formula.api:绘制统计模型会导致 AttributeError
- python - 为什么我不能在对象内部创建对象属性?
- c++ - 如何在 Visual Studio 代码的调试中运行 C++ 脚本?
- java - 奇怪的桶排序基准结果?
- amazon-web-services - 如何通过快照减小 EBS 卷大小
- ssl - 没有发夹 nat 的 kubernetes 上的证书管理器