簡體   English   中英

Android中的UI線程和工作線程之間的區別?

[英]Difference between UI Thread and Worker Thread in Android?

我已經閱讀了有關Android上線程的文檔,但我找不到UI線程和工作線程之間的差異。 有人可以給我更多關於它的例子嗎?

Ui線程是進行ui所需的任何更改的線程。

工作線程只是另一個線程,您可以在其中進行處理,您不希望中斷ui線程上發生的任何更改

如果你正在對ui線程進行大量處理,而ui的更改正在發生,ui將會凍結,直到你運行完畢。

這是部分術語。 當人們指的是不擁有UI或與UI交互的線程時,人們使用“worker”這個詞。 處理UI的線程稱為“UI”線程。 通常,您的主(主)線程將是擁有和管理UI的線程。 然后啟動一個或多個執行特定任務的工作線程。 這些工作線程不直接修改UI。

例如,如果我們需要更改UI組件,如在文本視圖中更改文本,顯示吐司等,顯示警報,那么我們需要使用UI線程bcoz線程只是進程

我們可以使用runOnUiThread方法訪問線程中的UI

runOnUiThread的示例:在線程內使用此方法

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM