Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android更新ui快速性_Java_Android_Multithreading - Fatal编程技术网

Java Android更新ui快速性

Java Android更新ui快速性,java,android,multithreading,Java,Android,Multithreading,我有一个实例变量mValue,其值随网络请求定期更新。新值显示在文本视图中。还有一个按钮,单击该按钮时,会记录mValue的当前值。假设我有一段代码: private int mValue = SOME_DEFAULT_VALUE; // invoked on the main thread as I am using Volley private void onNetworkResponseReceived(String response) { mValue = getValue(

我有一个实例变量
mValue
,其值随网络请求定期更新。新值显示在
文本视图中。还有一个按钮,单击该按钮时,会记录
mValue
的当前值。假设我有一段代码:

private int mValue = SOME_DEFAULT_VALUE;

// invoked on the main thread as I am using Volley
private void onNetworkResponseReceived(String response) {
     mValue = getValue(response); // line 1
     updateTextViewToReflectChangeInValue();  // line 2
}

private void onMyButtonClick() {
     myLog(mValue);
}
假设
updateTextViewToReflectChangeInValue()
需要很长时间才能完成,我在文本视图中看到的内容是否可能与单击按钮时在日志中看到的内容不同


如果在第1行结束后和第2行开始前单击按钮,我将在
文本视图和日志中看到什么?

如果在主线程上执行
onNetworkResponseReceived
函数,然后保证在调用
onMyButtonClick
处理程序之前执行第1行和第2行。

我想看看代码是否有潜在的bug。您能以多快的速度单击?:PSo Android将在主线程处于
onNetworkResponseReceived()
状态时单击按钮,然后在
onNetworkResponseReceived()
返回后运行
onMyButtonClick()