为什么AdMob插页式锁定UI线程?

时间:2016-09-07 16:47:15

标签: android admob interstitial

使用Method Tracing util时,我遇到了Android AdMob插页式广告的问题。

现在我使用最新版本的AdMob:

compile 'com.google.firebase:firebase-ads:9.4.0'

这段代码:

long start = System.currentTimeMillis();
interstitialAd.loadAd(adRequest);
Log.d(TAG, "load: " + (System.currentTimeMillis() - start) + " ms");

打印:

load: 1250 ms

并锁定UI线程。

示例设备:LG G3 Android 5.0。

我不明白为什么会锁定。

P.S。日志

09-08 11:35:52.294 I/Ads: Starting ad request.
09-08 11:35:52.297 I/Ads: Use AdRequest.Builder.addTestDevice("C847646CE34895E5C61DEA64E092F1A5") to get test ads on this device.
09-08 11:35:53.157 W/Ads: The webview is destroyed. Ignoring action.
09-08 11:35:53.224 E/Ads: JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (:1)
09-08 11:35:53.546 I/Ads: Scheduling ad refresh 30000 milliseconds from now.
09-08 11:35:53.553 I/Ads: Ad finished loading.

P.S.2

我在官方AdMob Googe小组中查找我的问题的答案 Answer

1 个答案:

答案 0 :(得分:2)

我认为这是一个错误,应该报告给Firebase团队。我正在查看InterstitialAd documentation,它清楚地说明loadAd

  

开始在后台主题上加载广告。

如果完成此方法需要很长时间,我很确定它实际上没有使用后台线程,或者至少没有正确执行。您可以尝试在慢速网络上进行此呼叫,在这种情况下,我认为您将获得ANR。这应该确认这是一个阻塞电话。