android – 为什么这不会导致崩溃?我正在从其他线程更新UI

android – 为什么这不会导致崩溃?我正在从其他线程更新UI,第1张

概述此示例是从 Android上的一本书中复制而来的.正如您从我的问题中看到的,我是Android新手,并试图理解.这个应用程序应该崩溃,但它不会崩溃(我正在从另一个线程更新UI.这是不允许的.它应该导致崩溃.它没有.为什么?).我的代码是: final ProgressDialog dialogue = ProgressDialog.show(this, "title", "message"); 此示例是从 Android上的一本书中复制而来的.正如您从我的问题中看到的,我是AndroID新手,并试图理解.这个应用程序应该崩溃,但它不会崩溃(我正在从另一个线程更新UI.这是不允许的.它应该导致崩溃.它没有.为什么?).我的代码是:

final ProgressDialog dialogue = ProgressDialog.show(this,"Title","message");       new Thread(new Runnable() {        @OverrIDe        public voID run() {            // Todo auto-generated method stub                try {                    Thread.sleep(7000);                dialogue.dismiss();                } catch (InterruptedException e) {                    // Todo auto-generated catch block                    e.printstacktrace();                }        }    }).start();

这是在OnCreate函数中完成的.我对行 – dialog.dismiss()感到困惑;是不是从另一个线程更新UI(解除对话)?为什么这个应用程序不会导致分段错误?

谢谢.

解决方法 dismiss()方法可以在任何线程上安全地运行,如AndroID文档中所述.

public voID dismiss ()

Since: API Level 1 dismiss this dialog,removing it from the screen. This method can be invoked safely from any thread. Note that you should not overrIDe this method to do cleanup when the dialog is dismissed,instead implement that in onStop().

总结

以上是内存溢出为你收集整理的android – 为什么这不会导致崩溃?我正在从其他线程更新UI全部内容,希望文章能够帮你解决android – 为什么这不会导致崩溃?我正在从其他线程更新UI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1129730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存