我正在使用Leak Canary来跟踪内存泄漏,它显示以下内容已泄漏:
static hk.o
references ht.a
leaks MainActivity instance什么是hk.o和ht.a?我的MainActivity里没有。
发布于 2017-05-06 13:51:38
我认为这些是任何一个依赖项的高级保护(用随机名称重命名的类,以防止反向工程)。当应用程序中使用谷歌登录等相关内容时,我就看到了这一点。
Google服务类通常是受Pro保护的。
我希望这能帮到你。
发布于 2017-05-12 11:49:55
这些类是第三方库类。您可以将您的MainActivity实例作为参数,并在其中传递哪个类的实例属于库。如果不需要传入活动,则可以使用ApplicationContext作为参数。
发布于 2017-05-26 02:31:48
我追踪到了这一点,罪魁祸首是谷歌广告。您提到的类实际上来自play-services-ads附带的库com.google.ads.interactivemedia.v3:interactivemedia。
对活动的引用是通过PublisherAdView的构造函数设置的,我在其中传递了活动上下文。可能你也在你的应用程序中使用类似的广告视图。
作为一种变通方法,我现在将应用程序上下文传递给广告视图,这似乎已经解决了泄漏:
new PublisherAdView(getContext().getApplicationContext())https://stackoverflow.com/questions/42464429
复制相似问题