AdView减慢了整个应用程序,可能的原因

时间:2015-10-09 23:11:06

标签: java android performance webview admob

我在屏幕下方有WebView + ListView和AdView。 WebView或ListView在较旧的设备(4.0-4.3 Android)上运行可怕,直到AdView加载,然后它运行得非常顺利。

Logcat显示,AdMob尝试以令人难以置信的方式加载一些东西,但没有成功,直到成功,然后应用程序流畅。这可能是个原因吗?如何解决?

10-10 01:02:20.954    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:20.964    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:20.974    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:20.974    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.004    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.004    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.004    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.004    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.014    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.024    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.024    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.044    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.044    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.054    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.054    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.054    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.054    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.074    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.074    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.084    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.084    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.094    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.104    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.114    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.114    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.124    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.134    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.134    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.144    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.144    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.164    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.164    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.164    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.174    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.184    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.184    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.184    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.194    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.194    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.194    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:21.204    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:21.224    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:21.234    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:21.234    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:22.754    7160-7163/com.test.test D/dalvikvm﹕ GC_CONCURRENT freed 380K, 12% free 7624K/8583K, paused 17ms+38ms, total 102ms
10-10 01:02:24.514    7160-7214/com.test.test V/webcore﹕ SET_BACKGROUND_COLOR arg1=0 arg2=0 obj=null
10-10 01:02:24.534    7160-7214/com.test.test V/webcore﹕ SET_ACTIVE arg1=0 arg2=0 obj=null
10-10 01:02:24.554    7160-7214/com.test.test V/webcore﹕ LOAD_DATA arg1=0 arg2=0 obj=android.webkit.WebViewCore$BaseUrlData@4163c488
10-10 01:02:24.564    7160-7160/com.test.test V/webview﹕ WEBCORE_INITIALIZED_MSG_ID
10-10 01:02:24.714    7160-7160/com.test.test V/webview﹕ setCertificate=null
10-10 01:02:24.744    7160-7160/com.test.test V/webview﹕ WEBCORE_NEED_TOUCH_EVENTS
10-10 01:02:24.894    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:24.904    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:24.904    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:24.904    7160-7214/com.test.test V/webcore﹕ didFirstLayout standardLoad =true
10-10 01:02:24.904    7160-7214/com.test.test V/webcore﹕ Can't get the viewWidth yet
10-10 01:02:24.914    7160-7160/com.test.test V/webview﹕ SAVE_WEBARCHIVE_FINISHED
10-10 01:02:25.064    7160-7160/com.test.test I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
10-10 01:02:25.084    7160-7214/com.test.test V/webcore﹕ LOAD_URL arg1=0 arg2=0 obj=android.webkit.WebViewCore$GetUrlData@41679bd8
10-10 01:02:25.084    7160-7214/com.test.test V/webcore﹕ CORE loadUrl about:blank
10-10 01:02:25.224    7160-7214/com.test.test V/webcore﹕ didFirstLayout standardLoad =true
10-10 01:02:25.234    7160-7214/com.test.test V/webcore﹕ setupViewport mRestoredScale=0.0 mViewScale=1.0 mTextWrapScale=1.0 data.mScale= 1.0
10-10 01:02:25.234    7160-7214/com.test.test V/webcore﹕ viewSizeChanged w=320; h=50; textwrapWidth=320; scale=1.0
10-10 01:02:25.244    7160-7214/com.test.test V/webcore﹕ WEBKIT_DRAW arg1=0 arg2=0 obj=null
10-10 01:02:25.254    7160-7214/com.test.test V/webcore﹕ webkitDraw start
10-10 01:02:25.254    7160-7214/com.test.test V/webcore﹕ webkitDraw NEW_PICTURE_MSG_ID
10-10 01:02:25.254    7160-7214/com.test.test V/webcore﹕ LOAD_URL arg1=0 arg2=0 obj=android.webkit.WebViewCore$GetUrlData@417630d8
10-10 01:02:25.264    7160-7214/com.test.test V/webcore﹕ CORE loadUrl javascript:AFMA_updateActiveView({"units":[{"viewBox":{"bottom":480,"right":320,"left":0,"top":0},"isScreenOn":true,"isPaused":false,"adFormat":"320x50_as","localVisibleBoxVisible":false,"activeViewJSON":{"click_string":"BBggidEcYVtTJNpG6pAPDj7qgBAD1k7K5qQIAABABOAHIAQPIA4gEoAYD","active_experiment_ids":"","is_active_view_immediate_enabled":true,"activeview_cpm_urls":[]},"hashCode":"a096ae7d-5728-4f8b-9c0b-95ea0edc1618","afmaVersion":"afma-sdk-a-v8115000.8115000.0","windowVisibility":0,"screenDensity":1,"localVisibleBox":{"bottom":0,"right":0,"left":0,"top":0},"isAttachedToWindow":true,"timestamp":13403686,"globalVisibleBox":{"bottom":0,"right":0,"left":0,"top":0},"isVisible":true,"adBox":{"bottom":430,"right":0,"left":0,"top":430},"hitBox":{"bottom":0,"right":0,"left":0,"top":0},"isMraid":false,"globalVisibleBoxVisible":false,"isStopped":false}]});
10-10 01:02:25.364    7160-7160/com.test.test I/Ads﹕ Ad finished loading.
10-10 01:02:25.594    7160-7160/com.test.test V/webview﹕ setCertificate=null
10-10 01:02:25.594    7160-7160/com.test.test V/webview﹕ WEBCORE_NEED_TOUCH_EVENTS
10-10 01:02:25.594    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:25.594    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:25.594    7160-7160/com.test.test V/webview﹕ SELECTION_STRING_CHANGED
10-10 01:02:25.604    7160-7160/com.test.test V/webview﹕ SAVE_WEBARCHIVE_FINISHED
10-10 01:02:25.604    7160-7160/com.test.test V/webview﹕ NEW_PICTURE_MSG_ID
10-10 01:02:25.644    7160-7160/com.test.test V/webview﹕ sendOurVisibleRect=(0,430,r=320,b=480
10-10 01:02:25.664    7160-7163/com.test.test D/dalvikvm﹕ GC_CONCURRENT freed 324K, 11% free 7716K/8583K, paused 24ms+32ms, total 130ms
10-10 01:02:26.434    7160-7214/com.test.test V/webcore﹕ LOAD_URL arg1=0 arg2=0 obj=android.webkit.WebViewCore$GetUrlData@416f4320
10-10 01:02:26.434    7160-7214/com.test.test V/webcore﹕ CORE loadUrl javascript:AFMA_updateActiveView({"units":[{"viewBox":{"bottom":480,"right":320,"left":0,"top":0},"isScreenOn":true,"isPaused":false,"adFormat":"320x50_as","localVisibleBoxVisible":false,"activeViewJSON":{"click_string":"BBggidEcYVtTJNpG6pAPDj7qgBAD1k7K5qQIAABABOAHIAQPIA4gEoAYD","active_experiment_ids":"","is_active_view_immediate_enabled":true,"activeview_cpm_urls":[]},"hashCode":"a096ae7d-5728-4f8b-9c0b-95ea0edc1618","afmaVersion":"afma-sdk-a-v8115000.8115000.0","windowVisibility":0,"screenDensity":1,"localVisibleBox":{"bottom":0,"right":0,"left":0,"top":0},"isAttachedToWindow":true,"timestamp":13403836,"globalVisibleBox":{"bottom":0,"right":0,"left":0,"top":0},"isVisible":true,"adBox":{"bottom":430,"right":0,"left":0,"top":430},"hitBox":{"bottom":0,"right":0,"left":0,"top":0},"isMraid":false,"globalVisibleBoxVisible":false,"isStopped":false}]});
10-10 01:02:26.474    7160-7214/com.test.test V/webcore﹕ LOAD_URL arg1=0 arg2=0 obj=android.webkit.WebViewCore$GetUrlData@416d1eb8
10-10 01:02:26.474    7160-7214/com.test.test V/webcore﹕ CORE loadUrl javascript:AFMA_updateActiveView({"units":[{"viewBox":{"bottom":480,"right":320,"left":0,"top":0},"isScreenOn":true,"isPaused":false,"adFormat":"320x50_as","localVisibleBoxVisible":true,"activeViewJSON":{"click_string":"BBggidEcYVtTJNpG6pAPDj7qgBAD1k7K5qQIAABABOAHIAQPIA4gEoAYD","active_experiment_ids":"","is_active_view_immediate_enabled":true,"activeview_cpm_urls":[]},"hashCode":"a096ae7d-5728-4f8b-9c0b-95ea0edc1618","afmaVersion":"afma-sdk-a-v8115000.8115000.0","windowVisibility":0,"screenDensity":1,"localVisibleBox":{"bottom":50,"right":320,"left":0,"top":0},"isAttachedToWindow":true,"timestamp":13404006,"globalVisibleBox":{"bottom":480,"right":320,"left":0,"top":430},"isVisible":true,"adBox":{"bottom":480,"right":320,"left":0,"top":430},"hitBox":{"bottom":50,"right":320,"left":0,"top":0},"isMraid":false,"globalVisibleBoxVisible":true,"isStopped":false}]});
10-10 01:02:26.484    7160-7214/com.test.test V/webcore﹕ SET_SCROLL_OFFSET arg1=1 arg2=0 obj=Point(0, 0)
10-10 01:02:26.514    7160-7214/com.test.test V/webcore﹕ SET_GLOBAL_BOUNDS arg1=0 arg2=0 obj=Rect(0, 430 - 320, 480)
10-10 01:02:26.524    7160-7214/com.test.test V/webcore﹕ VIEW_SIZE_CHANGED arg1=0 arg2=0 obj=android.webkit.WebViewClassic$ViewSizeData@416f7348
10-10 01:02:26.524    7160-7214/com.test.test V/webcore﹕ viewSizeChanged w=320; h=50; textwrapWidth=320; scale=1.0

编辑:

AdView是在Activity.onCreate方法中创建的。在开始时可见。 http://pastebin.com/xZ7C8WGK

2 个答案:

答案 0 :(得分:2)

最有可能是一个问题。可以通过删除AdView轻松检查(如果我理解正确的话) 我不知道您的申请的具体细节,但我建议您尝试Crosswalk Project

通常,使用Admob是同步的,但您可以尝试使用AsyncTask进行创建。或者,您可以尝试立即投放广告,但过了一段时间。

我仍然可以建议尝试使用third-party plug-in作为Admob。

最后,案件可能处于不稳定的互联网渠道。这就是我能想到的全部。我希望一切都会好的。

答案 1 :(得分:2)

我有一个简单的动画,它在应用程序启动时运行,它在我放置AdMob广告之前用于超级流畅运行,显然AdMob需要大量资源才能启动。

所以我的解决方案是等待动画结束,然后开始加载广告。

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
     @Override
     public void run() {
          AdRequest bannerRequest = new AdRequest.Builder().build();
          mAdView.loadAd(bannerRequest);
     }
},2000);

Admob启动速度很慢,因此解决了启动滞后问题。