Android Admob阻塞UIThread

Android Admob阻塞UIThread,android,freeze,Android,Freeze,我的活动底部有一个admob视图,XML如下所示: <RelativeLayout android:id="@+id/ad_wrapper" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true"> <com.google.android.gms.ads.AdView

我的活动底部有一个admob视图,XML如下所示:

<RelativeLayout
    android:id="@+id/ad_wrapper" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>
</RelativeLayout>
但问题依然存在。如果我在网络连接不好的情况下运行我的应用程序,我的整个活动将等待广告加载完成。有时这需要20秒。所以看起来他正在阻止UIThread。也许有人有办法?这确实令人困惑,因为幕后
谷歌播放服务
还必须使用
后台线程
建立网络连接来下载
广告
,那么为什么它会阻止我的用户界面呢

这里是过滤广告的日志:

01-01 15:26:55.960:D/dalvikvm(18253):打开缓存的索引文件:/data/data/com.android.faccess/cache/ads-1555443625.jar/data/data/com.android.faccess/cache/ads-1555443625.dex
01-01 15:26:55.961:D/dalvikvm(18253):DexOpt:---开始“ads-1555443625.jar”(bootstrap=0)--

01-01 15:26:56.046:D/dalvikvm(18253):DexOpt:---结束“ads-1555443625.jar”(成功)--

01-01 15:26:56.046:D/dalvikvm(18253):DEX prep'/data/data/com.android.faccess/cache/ads-1555443625.jar':0毫秒解压,84毫秒重写

01-01 15:26:56.074:I/Ads(18253):使用AdRequest.Builder.addTestDevice(“8AF8C1D3A935E64B84C4CBBFDF5F33F7”)获取此设备上的测试Ads。

01-01 15:27:12.351:I/dalvikvm(18253):找不到从方法com.google.android.gms.ads.internal.o.a.evaluateJavascript引用的方法android.webkit.WebView.evaluateJavascript

01-01 15:27:12.357:I/webkit/webview_proxy(18253):webview()构造函数=com.google.android.gms.ads.internal.o.a{41f75b30 VFE.HV…….I.0,0-0,0}

01-01 15:27:12.390:I/webkit/webview_proxy(18253):webview.loadDataWithBaseURL()this=com.google.android.gms.ads.internal.o.a{41f75b30 VFEDHVCL……ID 0,0-960150}baseUrl:http://googleads.g.doubleclick.net:80/mads/gma

更新

你们是对的,我的用户界面没有被阻塞。是我的后台线程(
AsyncTask
)被阻止了。
onPreExecute
立即被调用并完成(!),但是
doInBackground
有大约5-20秒的延迟,直到在网络连接不良时调用它。我注意到,
doInBackground
在以下logcat消息后立即启动:

01-02 02:23:23.289: E/NativeCrypto(16015): ssl=... cert_verify_callback ..._store_ctx=... arg=...
01-02 02:23:23.289: E/NativeCrypto(16015): ssl=... cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_ECDSA
01-02 02:23:23.889: E/NativeCrypto(16015): ssl=... cert_verify_callback ..._store_ctx=... arg=...
01-02 02:23:23.890: E/NativeCrypto(16015): ssl=... cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_ECDSA
我只为共享内容实施了
Admob
Facebook
,为共享内容实施了
Google+
。以下哪项可能导致此问题,或者通常在何时出现
本机加密
错误日志?谢谢你的帮助

更新2

找出了引起问题的线路。。这是Facebook和他的
UILifeCycleHelper
,在我的
onCreate
中:

myLifeCycleHelper = new UiLifecycleHelper(this, null);
myLifeCycleHelper.onCreate(savedInstanceState);

问题是,Facebook建议在
onCreate
中实例化UILifeCycleHelper。。如果我把这行注释掉,那么everythink会以预期的速度工作。所以我的最后一个问题是,以预期的速度实现
LifeCycleHelper
的解决方案是什么,它不会阻止我的UI,但它看起来像是阻止了我的
背景线程

你明白了@NoName@MMike您在广告中使用的Google Play服务版本是什么?@JaredBurrows最新版本,一切都是最新的@你在使用什么版本的Google Play服务?发布你所有的onCreate。AdView#loadAd不会阻止UI线程。您的应用程序中有其他原因导致此问题。
myLifeCycleHelper = new UiLifecycleHelper(this, null);
myLifeCycleHelper.onCreate(savedInstanceState);