この例は、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
関数で行われます。私はラインと混同しています -dialogue.dismiss();
それは別のスレッドからの UI の更新 (ダイアログの非表示) ではありませんか? このアプリでセグメンテーション違反が発生しないのはなぜですか?
ありがとう。