我的应用有活动和服务。我最近在我的应用程序中介绍了Admob。
然而,我发现它令人难以置信地消耗了内存(5MB),并且在销毁之后我无法恢复记忆。
我在layout.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();
摧毁它之后,我仍然无法恢复我的5mb内存。有人可以帮忙吗?
P.S。我的服务在后台运行,我可以看到5mb仍在那里。
感谢。
答案 0 :(得分:0)
只是猜测但可能在调用destroy()之前尝试调用stopLoading()。
答案 1 :(得分:0)
尝试从其容器View中删除AdView,以便GC能够将其删除。
答案 2 :(得分:0)
尝试过其他方法,但都没有。我也在使用最新的Admob库4.3.1。
在我的情况下唯一的解决方案是在我的应用程序中的某处调用“System.exit(0)”。
然后,服务将自行重启,Admob消耗的内存也会恢复。