Android中的UI线程和工作线程之间的区别?

Đại*_*Bắp 19 android

我已经阅读了有关Android上线程的文档,但我找不到UI线程和工作线程之间的差异.有人可以给我更多关于它的例子吗?

Sti*_*oni 39

Ui线程是进行ui所需的任何更改的线程.

工作线程只是另一个线程,您可以在其中进行处理,您不希望中断ui线程上发生的任何更改

如果你正在对ui线程进行大量处理,而ui的更改正在发生,ui将会冻结,直到你运行完毕.


小智 18

这是部分术语.当人们指的是不拥有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();
Run Code Online (Sandbox Code Playgroud)

  • 您能告诉我一些实时示例吗?何时我们必须使用辅助线程以及何时必须使用后台线程。@ Jenisha Makadiya (2认同)