我发现我的某些活动在启动时被阻止。因此,我在一个新项目中编写了该代码:
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"); } }
结果是第一次创建AdView对象会阻塞UI线程1到2秒钟。
有什么办法可以避免这种情况?
谢谢
您正在UI线程中创建AdView,这就是被阻止的原因。在AdView初始化期间,线程不会执行其他任何操作。
您可以尝试在另一个线程中加载AdView,也可以使用AsyncTask以用户界面安全的方式加载它。
检查此内容以获取有关Android中AsyncTask和线程的更多信息。
http://developer.android.com/reference/android/os/AsyncTask.html