如何完全销毁Admob adView并取回内存



我的应用程序有一个活动和一个服务。我最近在我的应用程序中介绍了Admob。

然而,我发现它非常消耗内存(5MB),而且在销毁它后我无法找回内存。

我在布局.xml 中使用此

 <com.google.ads.AdView 
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="xxxxxx"
    ads:adSize="BANNER">

在我的onCreate 中启用admob

AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(new com.google.ads.AdRequest());

在我的onPause或onDestory 上销毁它

AdView adView = (AdView)this.findViewById(R.id.adView);
adView.destroyDrawingCache();
adView.destroy();

在销毁它之后,我仍然无法恢复我的5 MB内存。有人能帮忙吗?

p.s.我的服务正在后台运行,我可以看到5mb还在那里。

谢谢。

尝试了其他方法,但都不起作用。此外,我正在使用最新的Admob库4.3.1。

在我的情况下,唯一有效的解决方案是在我的应用程序中的某个地方调用"System.exit(0)"。

然后,服务将重新启动,Admob消耗的内存也会返回。

只是猜测,但可能在调用destroy()之前尝试调用stopLoad()。

尝试从其容器视图中删除AdView,以便GC能够删除它。

最新更新