Difference between UI Thread and Worker Thread in Android?

前端 未结 2 1117
时光取名叫无心
时光取名叫无心 2020-12-28 14:45

I have read documents about Thread on Android, but I could not find differences between UI thread and Worker Thread. Can someone just give me more example about it?

2条回答
  •  臣服心动
    2020-12-28 15:29

    It's partly terminology. People use the word "worker" when they mean a thread that does not own or interact with UI. Threads that do handle UI are called "UI" threads. Usually, your main (primary) thread will be the thread that owns and manages UI. And then you start one or more worker threads that do specific tasks. These worker threads do not modify the UI directly.

    for example, if we need to change UI component like change text in Text View, show toast etc , show alert then we need to use UI thread bcoz thread is just process

    we can access UI in thread using runOnUiThread method

    example of runOnUiThread: use this method inside thread

    new Thread() {
            @Override
            public void run() {
                //If there are stories, add them to the table
                try {
                         // code runs in a thread
                         YourActivity.this.runOnUiThread(new Runnable() {
                             @Override
                             public void run() {
                                 Toast.makeText(context,"this is UI thread",0).show();
                             }
                        });
                   } catch (final Exception ex) {
                       Log.i("---","Exception in thread");
                   }
            }
     }.start();
    

提交回复
热议问题