如何避免Admob阻止UI线程

Add*_*dev 11 java android admob

我发现我的一些活动在发布时被阻止了.所以我在一个新项目中编写了该代码:

public class LayoutTestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        long now = System.currentTimeMillis();

        new AdView(this, AdSize.BANNER, "MY_ID");

        Log.e("Admob Test","The UI was blocked "+(System.currentTimeMillis()-now)+"ms");
    }
}
Run Code Online (Sandbox Code Playgroud)

结果是,第一次创建AdView对象会阻止UI线程1到2秒.

有没有办法避免这种情况?

谢谢

Ser*_*yol 0

您正在 UI 线程中创建 AdView,这就是被阻止的原因。当 AdView 初始化发生时,线程不会执行任何其他操作。

您可以尝试在另一个线程中加载 AdView,或者可以使用 AsyncTask 以 UI 安全的方式加载它。

检查此内容以获取有关 Android 中 AsyncTask 和线程的更多信息。

http://developer.android.com/reference/android/os/AsyncTask.html

  • 您无法在 AsyncTask 中调用 loadAd (9认同)