deprecated thread methods are not supported

前端 未结 3 854
轻奢々
轻奢々 2020-12-06 15:35

I am making one project where i need to display Home page and when home page displays, after that or continue with that 3 to 5 seconds my other welcome custom dialog is disp

相关标签:
3条回答
  • 2020-12-06 15:37

    Put this best way to do splash screen

    int SPLASH_TIME = 1300;
        Handler HANDLER = new Handler();
    
                        // thread for displaying the SplashScreen
                        HANDLER.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                             finish();
                             startActivity (new Intent(getApplicationContext(),Alpha.class));
                            }
                          }, SPLASH_TIME);
    
    0 讨论(0)
  • 2020-12-06 15:40

    This link tells you exactly what the problem is, and how to resolve it:

    What is this log, when I coded thread.stop()?

    Thread.stop is a deprecated API, and deprecated thread methods aren't supported in Android. Therefore it's throwing an UnsupportedOperationException.

    The answer is not to use Thread.stop - shut down your threads in a more graceful way, for example by setting a flag which the thread checks periodically.

    This link discusses why thread.stop() is deprecated (long ago deprecated in Java, not just Android!):

    http://docs.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html

    0 讨论(0)
  • 2020-12-06 16:01

    In Android its better to use Handler for managing the Thread and Runnables

    Create an Handler instance

    Handler handler = new Handler();
    

    Create a Runnable thread

    Runnable runnable = new Runnable() {
    
            @Override
            public void run() {
                Log.d("runnable started", "inside run");
                handler.removeCallbacks(runnable);
                handler.postDelayed(runnable, 1000);
            }
        };
    

    And start the Runnable using Handler

    handler.postDelayed(runnable, 1000);
    

    And to stop the Runnable use

    handler.removeCallbacks(runnable);
    
    0 讨论(0)
提交回复
热议问题