由于线程导致Android App崩溃

时间:2013-06-03 12:42:31

标签: java android multithreading crash

我正在尝试让我的第一个活动睡眠5秒,然后开始新的活动,但是当我正在测试应用程序时。该应用程序正在崩溃。 这是我的logcat

06-03 12:40:28.915: E/AndroidRuntime(1480):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618)
06-03 12:40:28.915: E/AndroidRuntime(1480):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
06-03 12:40:32.655: I/Choreographer(1480): Skipped 56 frames!  The application may be doing too much work on its main thread.
06-03 12:40:33.675: I/Process(1480): Sending signal. PID: 1480 SIG: 9

以下是我的代码。

           Thread timer = new Thread(){
    public void run(){
        try{
            sleep(5000);
        Intent openStartingPoint = new Intent(MainActivity.this, Menu.class);
            startActivity(openStartingPoint);
            finish();
        }   
        catch(InterruptedException e){

            e.printStackTrace();        

        }


    }


    };

timer.start();

}

1 个答案:

答案 0 :(得分:0)

您可以使用此代码,它可能对您有帮助..

  Thread timer = new Thread(){
public void run(){
    try{
        sleep(5000);
        MainActivity.this.runOnUiThread(new Runnable() {
        @Override
        public void run() {                                 
             Intent openStartingPoint = new Intent(MainActivity.this, Menu.class);
             MainActivity.this.startActivity(openStartingPoint);
             MainActivity.this.finish();
           });

    }

    }   
    catch(InterruptedException e){

        e.printStackTrace();        

    }


}


    };

timer.start();

}