好的,我有一个关于处理程序的问题。
场景:Handler mHandler、Runnable mRunnable、int mState。
mRunnable 应该根据 mState 来做一些事情。
Runnable mRunnable = new Runnable() {
@Override
public void run() {
switch (mState) {
case 1:
firstCase();
break;
case 2:
secondCase();
break;
default:
break;
}
}
};
现在我将发出 mHandler.postDelayed(mRunnable, 3000) 命令。
假设为了论证起见,mState 最初为 1,并在 2.5 秒后变为 2。
我的问题是:将执行哪个功能?firstCase() 或 secondCase()
我知道您可能会回答自己尝试一下,但我提出这个问题的真正目的是了解这种行为背后的原因。
多谢你们 :)