我想尽快将内容刷新到显示器,但是我想要在UI线程上使用的安装代码花费的时间太长。在完成所有操作之前,屏幕上不会呈现任何内容。
因此,如果我以至少100毫秒的延迟执行View.postDelayed(Runnable,long),则布局将在安装开始之前呈现。我想要做的是在onResume(例如)上在屏幕上呈现布局,然后继续设置。
我正在寻找的是一种确保Looper清空它的MessageQueue并呈现所有内容的方法,直到调用此方法,然后继续处理消息。
我可能应该在后台线程中运行安装程序,但这会使其他事情变得复杂。
最佳答案
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg)
{
dialog.dismiss();
}
};
dialog = ProgressDialog.show(Activity.this, "", "Loading ...", false);
new Thread()
{
public void run()
{
while(Condition)
{
do Something
}
handler.sendEmptyMessage(0);
}
}.start();
关于android - 强制刷新UiThread android的MessageQueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10618626/