java谷歌广告中断了应用程序。减速fps
我使用AdView mAdView
和最近更新的库
我将AdView放置到布局中(如示例所示):
<com.google.安卓.gms.ads.AdView
xmlns:ads="http://schemas.安卓.com/apk/res-auto"
安卓:id="@+id/adView"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_gravity="center"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id">
</com.google.安卓.gms.ads.AdView>
然后我识别它并尝试在onCreate()
方法中加载一个新广告:
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
但是我的布局有一些动画对象。当新广告可见时,此动画将冻结(跳过某些帧)
我们不能抓住同样的问题与残疾互联网(它禁用广告,而不影响滞后)
我试图用我自己的记录显示问题(GIF无法完全显示):
https://www.youtube.com/watch?v=adH2Mn79O7w
我怎样才能消除广告的滞后,让用户体验更好
# 1 楼答案
我认为,广告不应该是一个
banner
,因为这是一个大的广告,这会降低性能,因为你应该把它缩小。这也可能涵盖应用程序中的内容(如果广告在banner
)另一件事是,你不能有广告,所以性能会更好。试试这些。大多数情况下,广告都有很好的图形效果,可能会降低你的应用速度。:)
# 2 楼答案
我的应用程序中也有一个解决方案,就是设置^{:
或
# 3 楼答案
将广告视图放置在线性布局中,并实现广告侦听器。在adListener的onAdLoaded()方法中,将adView添加到线性布局中,如linearLayout。添加视图(adView)并将动画放在线性布局上。我希望这对你有帮助
# 4 楼答案
这是一个已知的问题,在网上已经讨论过很多次,用“AdMob fps drop”之类的词搜索就足够了
问题的根源很可能是,运行AdMob需要大量资源,这就是动画开始暂停的原因。作为一种解决方案,您可以延迟显示广告:
可以使延迟不固定,但将其绑定到用户操作。例如,在用户停止滚动屏幕后立即开始下载广告
另一个解决方案是通过操纵LAYER_TYPE_软件属性来禁用广告的图形加速
对于这种解决方案,有必要实现以下接口:
类似地,可以关闭某些活动的加速: