Android 试图显示谷歌广告时发出警告

Android 试图显示谷歌广告时发出警告,android,Android,我正在尝试显示我的谷歌广告,我正在用oncreate方法 这就是我正在做的 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cities); AdView adView = new AdView(this, AdSize.BANNER, "a150cb2e3184cd

我正在尝试显示我的谷歌广告,我正在用oncreate方法

这就是我正在做的

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cities);



        AdView adView = new AdView(this, AdSize.BANNER, "a150cb2e3184cd");
        LinearLayout addLay = (LinearLayout) findViewById(R.id.addlay);

        AdRequest adRequest = new AdRequest();
        // adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
        addLay.addView(adView);
        adRequest.setTesting(true);
        adView.loadAd(adRequest);
但是,当我运行我的应用程序时,我会收到以下警告,并且屏幕转换很慢

这是警告

03-20 05:07:22.952: W/webview_proxy(8998): java.lang.Throwable: Warning: A WebView method was called on thread 'AsyncTask #4'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
03-20 05:07:22.952: W/webview_proxy(8998):  at android.webkit.WebView.checkThread(WebView.java:1876)
03-20 05:07:22.952: W/webview_proxy(8998):  at android.webkit.WebView.loadDataWithBaseURL(WebView.java:859)
03-20 05:07:22.952: W/webview_proxy(8998):  at c.a(Unknown Source)
03-20 05:07:22.952: W/webview_proxy(8998):  at c.doInBackground(Unknown Source)
03-20 05:07:22.952: W/webview_proxy(8998):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-20 05:07:22.952: W/webview_proxy(8998):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-20 05:07:22.952: W/webview_proxy(8998):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
03-20 05:07:22.952: W/webview_proxy(8998):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-20 05:07:22.952: W/webview_proxy(8998):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-20 05:07:22.952: W/webview_proxy(8998):  at java.lang.Thread.run(Thread.java:856)
这是我的AsyncTask类

public class CityData extends AsyncTask<Integer, Void, String> {

        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            try {
                if (!lstresponse.isEmpty()) {
                    lstresult.addAll(lstresponse);
                    lstcities.setAdapter(CustAdapter);
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        @Override
        protected String doInBackground(Integer... params) {
            // TODO Auto-generated method stub

            SendRequesttoServer();
            return "1";
        }

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();

        }

    }
公共类CityData扩展异步任务{
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
试一试{
如果(!lstress.isEmpty()){
lstreult.addAll(lstress);
lstcity.setAdapter(custapter);
}
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
@凌驾
受保护字符串doInBackground(整数…参数){
//TODO自动生成的方法存根
SendRequesttoServer();
返回“1”;
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
}
}
我犯了什么错误


谢谢:)

因为
AdView
必须通过互联网进行沟通,而且广告出现需要时间

“block”或“lag”可能是
adsdk的
线程试图让广告显示给您。我真的不认为
AdMob
在试图获取广告时会阻止
UI
线程,但是在您看到活动屏幕上显示的所有UI小部件项目(按钮、文本字段、图像等)和广告出现之间会有明显的延迟

尝试在线程中加载广告,如下所示:


您的错误表明
AsyncTask
中存在问题,代码在哪里?@Grishu我没有在AsyncTask中显示谷歌广告。在AsyncTask中,我执行的是一个使用方法但显示google广告的方法,我在oncreate method Only中执行的是删除async任务并尝试GoogleAds是否工作。?我没有说你在AsyncTask中显示广告,我只是向你询问
AsyncTask
@Grishu ok Grishu的代码。对不起:)。。我添加了一个任务类。
    public class MainActivity extends Activity {
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          long now = System.currentTimeMillis();
      new Thread(new Runnable() {
      public void run() {
        new AdView(this, AdSize.BANNER, "MY_ID");               
      }
  }).start();
 }