本示例從Android上的書中複製而來。正如你可以從我的問題中看到的,我是Android新手,並試圖理解。 此應用程序應該會崩潰,但它不會(我正在從另一個線程更新UI,這是不允許的,它應該會導致崩潰,但不會,爲什麼?)。我的代碼是:爲什麼這不會導致崩潰?我正在從其他線程更新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
函數中完成的。我很困惑 - dialogue.dismiss();
是不是更新UI(解除對話)從另一個線程?爲什麼這個應用程序不是導致分段錯誤?
謝謝。
可能解僱只會泄漏對話。 – Blackbelt