Ale*_*kov 16 android memory-leaks admob adview
我正在使用AdView和LeakCanary.托管adView的片段在onDestroy中调用adView.destroy(),但LeakCanary显示托管此片段的Activity被com.google.android.gms.common.api.aaai泄露.堆转储还显示存在内存泄漏.当我删除AdView.loadAd()并且不在片段中加载广告时 - 没有泄漏.有什么想法或建议吗?谢谢.
dvd*_*dvd 11
同样的问题,AdView有一个内部变量(强引用)保持上下文,这是我的Activity,导致Activity实例的泄漏.
我的依赖是 com.google.android.gms:play-services-ads:8.3.0
一个解决办法是创建AdView的实例时提供的应用程序上下文.
AdView adview = new AdView(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下操作:
首先adView从容器中删除你的容器,然后调用 destroy(),即
ViewParent parent = adView.getParent();
if (parent != null && parent instanceof ViewGroup) {
((ViewGroup) parent).removeView(adView);
}
adView.destroy();
adView = null;
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |