Quang Dai Ngo
Quang Dai Ngo

Reputation: 293

Difference between UI Thread and Worker Thread in Android?

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?

Upvotes: 26

Views: 24215

Answers (2)

Jenisha Makadiya
Jenisha Makadiya

Reputation: 832

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();

Upvotes: 21

Stimsoni
Stimsoni

Reputation: 3156

The Ui thread is the thread that makes any changes required for the ui.

A worker thread is just another thread where you can do processing that you dont want to interupt any changes happening on the ui thread

If you are doing large amounts of processing on the ui thread while a change to the ui is happening the ui will freeze until what ever you have running complete.

Upvotes: 45

Related Questions