新手误区(Android多线程)

误区一:要在主界面MainActivity做延迟跳转操作,很多新手会在onCreate()方法里写上,

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try
        {
            Thread.sleep(1000);
            startActivity(new Intent().setClass(this, SecondActivity.class));
        } catch (InterruptedException e1)
        {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
                                                                             
                                                                             
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

这样只能让界面出现一张空白的页面随后就直接跳转,也就没有在activity_main界面出现前直接跳转到另一个界面。

在这里不得不提到Activity的生命周期,在启动Activity时会oncreate()->onstart()->onresume()此时才会解析xml,所以这里只是在main线程停滞而无法,而当时间过了后已经开始跳转,而解析却已经结束,所以这里是无法看到activity_main的内容

本文出自 “安卓学习过程” 博客,谢绝转载!

你可能感兴趣的:(多线程,android,跳转界面)