2011-05-20 17 views
5

İçinde reklamları olan bir oyunum var. Eninde sonunda gecikme kaynağının, uzun bir zaman alan adRequest işlemi nedeniyle olduğunu buldum.admob: UI Thread dışında AdRequest nasıl yüklenir?

super.onCreate(savedInstanceState){ 

    mainLayout = new LinearLayout(this); 
    mainLayout.setOrientation(LinearLayout.VERTICAL); 
    adView = new AdView(this, AdSize.BANNER, "MY_ID"); 
    adView.setVisibility(AdView.VISIBLE); 
    mainLayout.addView(adView); 
    adView.loadAd(new AdRequest()); 
    //more codes below 
    } 

Bir adRequest olduğunda bazı loadAd yapacak bir iş parçacığı oluşturmak gibi bir şey yapmayı denedim. Ancak, sonuçta reklam görünmeyecek. Bu yüzden loadAd isteğinin UI Thread'de yapılması gerektiğini düşünüyorum. Bu konuda bir çözüm var mı? Hala UI Thread'nin nasıl çalıştığını hala anlamadım

+0

Kesinlikle aynı şey büyük bir temsilini olsa da. 'Play-services-ads' kullanıyorum: 8.4.0 've adView.loadAd (...)' ı aradığım ilk sefer 100-500 ms. Ve ben başka bir iş parçacığına taşıyamıyorum çünkü 'Looper.prepare()' sınırlaması – IlyaEremin

cevap

-2

Bir AsyncTask() kullanmayı deneyin. Eklemeye ihtiyaç duyduğunuzda başlatabilir ve arka planda güncellenir. Tamamlandığında, sonucu UI iş parçacığına geri gönderebilirsiniz.

değil özellikle reklamlar için Java Kod Geeks bu http://www.javacodegeeks.com/2011/05/android-json-gson-revisited.html

+0

de denilen iş parçacığı içinde işleyici oluşturulamıyor. Ben bir iş parçacığı oluşturmak için aynı olacağını düşündüm isteği işlemek. Bunu daha önce yaptım. Bu iş parçacığında adView.loadAd (yeni AdRequest()) 'i kullanmaya çalışıyorum ve işte, hiç reklam gösterilmiyor. – Fugogugo

+1

Çalıştırılabilir runnable = new Runnable(); iyi bir Java olabilir, ama bu kötü bir mobil. –