我们正在尝试显示加载屏幕,执行一些昂贵的操作(以睡眠为代表),并在操作完成后显示一条消息。
预期行为: 第 1 步:rl_loading (RelativeLayout) 的可见性设置为可见 第 2 步:应用程序休眠 2 秒 第 3 步:显示消息
实际发生了什么: 第 2 步:应用程序休眠 2 秒 第 1+3 步:可见性变化和消息同时显示
谁能解释一下为什么会发生这种情况以及要改变什么来实现预期的行为?
mainIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rl_loading.setVisibility(View.VISIBLE); //STEP 1
try {
Thread.sleep(2000); //STEP 2
} catch (InterruptedException e) {
e.printStackTrace();
}
msg("message"); //STEP 3
}
});