Android Admob区间加载AD功能太慢

Android Admob区间加载AD功能太慢,android,admob,google-play-services,Android,Admob,Google Play Services,最近,我使用Admob和Google Play服务库(顺便说一句,它仍然有很多缺陷)添加了一个间隙广告 中间层工作正常,但以下调用: // Begin loading interstitial interstitial.loadAd(adInterstitialRequest); 速度非常慢,第一次启动我的应用程序时可能会延迟2秒 我能做些什么来避免这种情况?我完全遵循谷歌提供的例子 仅供参考我尝试使用异步任务在后台加载广告,但似乎不可能: 03-23 15:50:21.939: E/Andr

最近,我使用Admob和Google Play服务库(顺便说一句,它仍然有很多缺陷)添加了一个间隙广告

中间层工作正常,但以下调用:

// Begin loading interstitial
interstitial.loadAd(adInterstitialRequest);
速度非常慢,第一次启动我的应用程序时可能会延迟2秒

我能做些什么来避免这种情况?我完全遵循谷歌提供的例子

仅供参考我尝试使用
异步任务在后台加载广告
,但似乎不可能:

03-23 15:50:21.939: E/AndroidRuntime(3572): Caused by: java.lang.IllegalStateException: loadAd must be called on the main UI thread.

谢谢你

你在使用广告监听器吗? 试试这个:

interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(Your-ad-id-here);

// Create ad request.
AdRequest adRequest = new AdRequest.Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();

// Begin loading your interstitial.
interstitial.loadAd(adRequest);

interstitial.setAdListener(new AdListener() {
    public void onAdLoaded() {
        displayInterstitial();
    }
}

为避免应用程序启动速度减慢,请延迟初始化,直到您的活动已加载且可见:


另请参见

如何从后台任务中使用RunOnUIThread。这里解释的用法:我需要的是避免使用这个UI线程。实际上,这个答案对我没有帮助。同样的问题是,引入新的AdMob会导致在某些设备上加载应用程序的巨大延迟。横幅广告约3秒,间隙广告约3秒。这只是调用loadAd,而不是实际显示广告。
             mAdView.postDelayed(
                     new Runnable() {
                         @Override
                         public void run() {
                             mAdView.loadAd(adRequest);
                         }
                     }, 500
             );