Вопрос по android, java, multithreading – Когда нам может понадобиться использовать runOnUiThread в приложении для Android?

14

У меня есть пример кода, который использует эту функцию для запуска потокаrunOnUiThread, почему и когда нам нужно это использовать?

edit

Как насчет использованияAsyncTask класс, что такоеpros а такжеcons??

Ваш Ответ

2   ответа
1

Обновлятьuserinterface из нити нужно использоватьrunOnUiThread, Но используяasynctask лучше, чем использоватьrunonuithread. Android-runonuithread-против-AsyncTask эта ссылка может помочь вам

19

runOnUiThread() когда вы хотите обновить свой пользовательский интерфейс из не-пользовательского потока. Например, если вы хотите обновить свой интерфейс из фоновой темы. Вы также можете использоватьHandler за то же самое.

From the Docs -

Runs the specified action on the UI thread. If the current thread is the UI thread, then the action is executed immediately. If the current thread is not the UI thread, the action is posted to the event queue of the UI thread.

Syntax -

       Activity_Name.this.runOnUiThread(new Runnable() {

            @Override
            public void run() {
                // your stuff to update the UI

            }
        });

Update -

AsyncTask -

If you want to do some Network operation or anything that blocks your UI in that case AsyncTask is best options. There are several other ways for performing the same Background Operations as you can use Service, IntentService also for doing Background Operations. Using AsyncTask will help you doing your UI work and also won't block your UI until your background Operation is going on.

From the Docs -

AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.

Ок считать :)
Считайте, что я человек :) Adham
Если обработчик может сделать то же самое, какrunOnUiThreadзачем использовать позже?
Как насчет использованияAsyncTask класс, каковы плюсы и минусы ?? Adham
Я не нашел ничего, связанного сAsyncTask в вашем вопросе.

Похожие вопросы