2015-10-09 48 views
8

我在屏幕下方有WebView + ListView和AdView。在AdView加載之前,WebView或ListView在較老的設備(4.0-4.3 Android)上運行可怕的laggy,然後運行非常順利。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$Ba[email protected] 
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 [email protected] 
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 [email protected] 
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 [email protected] 
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 [email protected] 
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 [email protected] 
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

+0

關於如何添加adview以及何時添加adview的代碼很好 –

+0

做到了。看看你是否有一段時間。 – ElSajko

+0

我看到了它,一切看起來不錯。正如我從日誌文件中看到的,Web視圖是「做」的。也許問題來自佈局。你有硬件加速嗎?顯示應用程序視圖是否需要重繪web/listview。是否有動畫顯示,並有一些原因,這個動畫可以導致每個幀的佈局計算? –

回答

2

這很可能是一個問題。通過刪除AdView可以很容易地進行檢查(如果我理解正確) 我不知道您的應用程序的具體情況,但我建議您嘗試Crosswalk Project

一般來說,使用Admob是同步的,但您可以嘗試使用AsyncTask來創建它。或者,您可以嘗試立即投放廣告,但過了一段時間。

不過我建議您嘗試使用third-party plug-in作爲Admob。

最後,這種情況可能是在一個不穩定的互聯網頻道。這就是我能想到的。我希望一切都會好的。

+0

不能使用Crosswalk項目,因爲他們不允許用服務上下文實例化視圖(除了它增加了20mb額外的apk)AsyncTask for創建AdView對象,或ASyncTask將廣告加載到adview?我會看看第三方插件,不知道admob有其他選擇,但仍然與admob連接。不穩定的互聯網頻道不是一個例子,因爲很多用戶都會遇到這種情況。 – ElSajko

+0

嘗試爲所有人使用任務。這只是一個想法。 因此,我建議查看第三方插件。祝你好運。我很抱歉,我無法幫助。 – user2413972

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只在啓動時很慢,所以這解決了啓動滯後問題。