activity为何要等待runnable执行完才执行create?
activity为何要等待runnable执行完才执行create?
发布时间:2018-02-01 来源:查字典编辑
摘要:代码如下:publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCr...

代码如下:

public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

       

        

        Runnable run = new Runnable() {

            @Override

            public void run() {

                // TODO Auto-generated method stub

              try {                 

                   //各种代码略过

              }

                 catch (Exception e) {

                 Log.e("ConnectSocket", "connectTest异常" + e.toString());

                 e.printStackTrace();

                 } 

              finally {

                

                 }

            }

        };

        

        run.run();

       

    }

测试发现,activity是等待runnable里面的内容执行完才create成功的,难道不是,runnable作为线程自己去执行自己,activity在主线程里面自己创建自己吗?为何要等待从线程呢?想不明白

回复讨论(解决方案)

应该是Thread th = new Thread(runnable); th.start(); 应该是Thread th = new Thread(runnable); th.start();

run。run()

和th.start()有什么区别啊,不都是新启动了一个线程,让线程执行吗? 你那就不是启动的一个线程,需要继承Thread  或者实现Runnable

正确写法:

   new  Thread(new Runnable() {

            @Override

            public void run() {

                

            }

        }).start();

    } 这样只是一个方法。

Thread才是并行的  

Runnable放Thread里才是并行Runnable里的方法。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类