Java Android应用程序内存泄漏-Android.App.ActivityThread$ActivityClientRecord

Java Android应用程序内存泄漏-Android.App.ActivityThread$ActivityClientRecord,java,android,memory-leaks,Java,Android,Memory Leaks,我正在开发我的第一个Android应用程序,它有内存泄漏。我已经用过像MAT这样的工具,但我仍然找不到泄漏的来源 一点背景和情况:我的应用程序中有很多活动。当我反复地从活动A转到活动B,然后再回到活动A时,使用的内存将不断增加。我尝试过的所有活动都会发生这种情况 根据MAT leak嫌疑犯分析(见第一个图片链接),有大量“android.app.ActivityThread$ActivityClientRecord”,我不知道它是什么 我对编程非常陌生,我已经研究这个问题好几天了,读了几十篇关于

我正在开发我的第一个Android应用程序,它有内存泄漏。我已经用过像MAT这样的工具,但我仍然找不到泄漏的来源

一点背景和情况:我的应用程序中有很多活动。当我反复地从活动A转到活动B,然后再回到活动A时,使用的内存将不断增加。我尝试过的所有活动都会发生这种情况

根据MAT leak嫌疑犯分析(见第一个图片链接),有大量“android.app.ActivityThread$ActivityClientRecord”,我不知道它是什么

我对编程非常陌生,我已经研究这个问题好几天了,读了几十篇关于堆栈溢出的文章,仍然不知道漏洞来自哪里

以下是MAT分析结果的几个屏幕帽:

几乎所有的活动都有一些片段

  • DayTimeFragment(由所有活动共享)

  • StatusBarFragment(由所有活动共享)

  • BackButtonFragment(由某些活动共享)

  • ButtonFragment(由某些活动共享)


我没有查看您的数据,因此无法确定,但您的错误消息与以下报告类似:

我也收到了来自android.app.ActivityThread$ActivityClientRecord的泄漏日志消息,并通过禁用我所有活动之间的转换来解决

我不知道是否还有其他解决方案,也不知道这个解决方案与哪个版本兼容,但我使用了
overridePendingTransition(0,0)startActivity
(静态实用工具方法)之后,以及在每个活动的
onPause
(在基类中)上,我发现LeakCanary()更易于使用,结果更精确。