2017-02-26 25 views
17

我使用泄漏金丝雀跟踪内存泄漏泄漏和它说以下外泄:MainActivity使用leakcanary

static hk.o 
references ht.a 
leaks MainActivity instance 

什么是hk.oht.a?我没有他们在我的MainActivity。

+0

我有同样的问题,可能是一些涉及到谷歌Play服务库。 – meh

+0

这些类名称是混淆的,可能是任何东西。在泄漏菜单中有一个共享信息按钮,在这里发布整个输出。 –

回答

3

我认为这些都是保护(重命名类与随机名防止逆向工程)任何一个依赖关系。我曾在应用中使用Google Sign In之类的相关内容时看到过此内容。

Google服务类一般都是临时保护的。

我希望这会有所帮助。

3

这些类是第三方库类。您可以将您的MainActivity实例作为参数,并传入哪个类的实例属于库。如果不需要传入Activity,则可以使用ApplicationContext作为参数。

0

我追踪到这一点,罪魁祸首是Google广告。 您提到的课程实际上来自图书馆com.google.ads.interactivemedia.v3:interactivemedia,其包含在play-services-ads中。

对活动的引用是通过PublisherAdView的构造函数设置的,其中我通过了活动上下文。可能您还在您的应用中使用了类似的广告视图。

作为一种变通方法,我现在通过应用上下文广告来看,这似乎已经解决了泄漏:

new PublisherAdView(getContext().getApplicationContext())