android runOnUiThread和java中的简单代码之间的区别

Moh*_*aur 8 multithreading android android-runonuithread

我是Android应用程序开发的初学者.我正在使用android中的线程.我已经阅读了runOnUiThread主UI上的哪些运行代码(如果我没错?我猜.).

我的问题是主UI上的普通代码和内部代码之间的区别是什么runOnIUThread.

实施例:1

class A
{
getDataFromServer(foo);//Code on mainUI
}
Run Code Online (Sandbox Code Playgroud)

例如:2

getActivity.runOnUiThread(new Runnable(){
@Override
public void run(){
getDataFromServer(foo);
}
});
Run Code Online (Sandbox Code Playgroud)

这两个例子有什么区别.请帮助我.你的回应对我来说是一个新的学习.

Cha*_*ruක 13

假设您的UIThread代码代码简单,

什么是线程?

线程定义正在运行的进程

首先运行OnUiThread ..

UI线程上运行指定的操作.如果当前线程是UI线程,则立即执行该操作.如果当前线程不是 UI线程,则将操作发布到UI线程的事件队列.

什么是UIThread

  • 应用程序的主要执行线程
  • 大多数的应用程序代码将在这里运行onCreate,onPause,onDestroy,onClick,等.

    所以简单的任何导致UI更新或更改的东西都发生在UI线程上

当您显式生成一个新线程以在后台工作时,此代码不会在UIThread上运行.如果您想要执行更改UI的操作,该怎么办?那么欢迎你runOnUiThread

runOnUiThread()当您想要从非UI线程更新UI时,必须使用.例如 - 如果要从后台线程更新UI.你也可以用Handler同样的东西.