我的应用程序有一个活动和一个服务。我最近在我的应用程序中引入了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中启用广告
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内存。有人能帮帮忙吗?
附注:我的服务在后台运行,我可以看到5mb仍然在那里。
谢谢。
发布于 2012-03-22 20:48:06
尝试了其他方法,都不起作用。另外,我使用的是最新的Admob库4.3.1。
在我的情况下,唯一有效的解决方案是在我的应用程序中调用"System.exit(0)“。
然后,服务将自行重新启动,Admob占用的内存也会恢复。
发布于 2012-03-09 16:41:55
这只是一个猜测,但也许可以在调用destroy()之前先调用stopLoading()。
发布于 2012-03-10 17:35:46
尝试将AdView从其容器视图中删除,以便GC能够将其删除。
https://stackoverflow.com/questions/9630916
复制相似问题