我有一个活动,基本上,它启动多个线程,以便从网络中获取多个资源。我在使用ResultReceiver机制从这些线程接收通知后更新UI。 代码段如下所示,
public void onReceiveResult(int resultCode, Bundle resultData){
switch(resultCode){
case 1: updateData1();
break;
case 2: updateData2();
break;
case 3: updateData3();
break;
}
因为,它是在接收来自这些线程的通知时更新UI元素的主线程,我认为将方法onReceiveResult同步化是一个好主意。任何意见? 为了保持高效和安全,是否还有其他事项需要注意?
答案 0 :(得分:0)
不,这没有帮助,它会阻止线程。而是运行将修改UI线程上的UI的代码,否则您将遇到问题,具体取决于调用此onReceiveResult的位置...
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
updateData1();
}
});