Android,AdMob:AdMob广告刷新会破坏帧速率

Sem*_*bee 7 android admob

我正在开发一款游戏,它的发展非常顺利.我确实对AdMob广告提出了一些问题.每次广告刷新或广告的不同方面,我的帧速率都会下降,几乎使游戏无法播放.以下是我加载广告的内容......

    ad = new AdView(this, AdSize.BANNER, "...");

    AdRequest adRequest = new AdRequest();
    adRequest.addTestDevice("...");
    adRequest.addTestDevice("...");

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
    ad.setLayoutParams(lp);

    RelativeLayout layout = new RelativeLayout(this);
    layout.addView(renderView);
    layout.addView(ad);
    ad.loadAd(new AdRequest());     

    setContentView(layout);
Run Code Online (Sandbox Code Playgroud)

我呈现在顶部的广告解决方案SurfaceView是,只需将其添加到RelativeLayout,并添加两个SurfaceViewAdView它.这一切都运行得很好,但每次广告刷新(用户界面或新的广告请求)时,它都会使UI线程陷入困境,从而减慢渲染线程的速度.

是否有一种方法可以让所有这些工作很好地完成所有工作由AdView与主线程分开完成?我不太确定从另一个线程动态更新当前布局.

谢谢您的帮助.

Reu*_*ton 8

我也有这个问题.我发现它是由Google广告引起的,这些广告在更改时会生成动画,而不是根本没有动画的静态Admob横幅广告.您的admob应用设置中有一个设置用于控制是否使用Google广告...尝试关闭它以查看它是否有所作为.

  • 您可以尝试摆弄线程优先级.尝试降低主线程的优先级,因此它与渲染线程和游戏引擎线程的争斗更少.理想情况下,您的UI线程只会以低优先级更新该广告. (2认同)