android - 强制刷新UiThread android的MessageQueue

标签 android handler message-queue ui-thread looper

我想尽快将内容刷新到显示器,但是我想要在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/

相关文章:

git - 我如何通过 git 与其他拥有 Android 存储库的人共享代码?

php - 多线程请求环境中的面向对象编码 - PHP

android - 我可以在 android 上以编程方式播放广播吗?

java - Android显示结果一一对应

php - 安卓版 Chrome : How to enable mobile-friendly ' on web page

.net - 部署在本地 IIS 中时,azure 消息传递服务未接收消息

java - 如何使用 smslib 中的队列消息传递方法系列?

java - 如何在队列中使用Handler Postdelayed?

android - Kotlin - 如何在 Handler 中传递一个 Runnable

javascript - 动态更改 jQuery 可调整大小的处理程序