Android updates the UI and androidui in non-UI threads
When updating the UI (Program Interface) in a non-UI thread, the following exception occurs:
So how can we refine the UI in a non-UI thread?
There are many methods. Here we mainly introduce two methods:
First, add logoff. prepare (); and logoff. loop (); after the code line to update the UI. For example:
New Thread () {@ Overridepublic void run () {// TODO Auto-generated method stubtxtRotation. setText ("update the UI in a non-UI Thread! "); Lorule. prepare (); lorule. loop () ;}}. start ();
Method 2: Use the following method:
new Thread(){@Overridepublic void run() {// TODO Auto-generated method stubshowToastByRunnable(MainActivity.this, "", 3000);}}.start();
/*** Use Toast * @ param context * @ param text in a non-UI thread to display the message content * @ param duration the message display time **/private void showToastByRunnable (final Context context, final CharSequence text, final int duration) {Handler handler = new Handler (logoff. getMainLooper (); handler. post (new Runnable () {@ Override public void run () {Toast. makeText (context, text, duration ). show ();}});}
How to update the ui in a separate thread of android?
Non-UI threads in android cannot operate the UI. You can perform time-consuming operations in a separate thread and update the UI through Handler. Or you can use AsyncTask.
Different explanation of non-UI thread and UI thread in android development, answer professional knowledge
The UI thread, that is, the main thread, cannot perform time-consuming operations in the main thread. Otherwise, an ANR prompt box will pop up, so the general time-consuming operations are completed in a non-UI thread, that is, the sub-thread. This is the main difference at the development level.