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()
?