【发布时间】:2017-05-28 16:58:24
【问题描述】:
我是 android 应用程序开发的初学者。我正在使用 android 中的线程。我读过关于在主 UI 上运行代码的runOnUiThread(如果我没记错的话?我猜。)。
我的问题是主 UI 上的普通代码和 runOnIUThread 内的代码有什么区别。
示例:1
class A
{
getDataFromServer(foo);//Code on mainUI
}
示例:2
getActivity.runOnUiThread(new Runnable(){
@Override
public void run(){
getDataFromServer(foo);
}
});
这两个例子有什么区别。请帮助我。你的回答对我来说是一个新的学习。
【问题讨论】:
-
如果您想在非 UI 线程中更新 UI,则使用
runOnUiTread()。 -
如果你不想使用 runOnUiThread () 然后使用 AsyncTask ,它有 preExecute 和 postExecute 与 UI 交互。
-
如果,我将更新 UI 表单 runOnUiThread 可以线程内的代码进入长进程,它会阻止进一步执行(ANR)
标签: android multithreading android-runonuithread