ドキュメントによると、別のスレッドから UI スレッドにアクセスするには、3 つのオプションのいずれかを使用する必要があります。オプションは次のとおりです。
- Activity.runOnUiThread(実行可能)
- View.post(実行可能)
- View.postDelayed(実行可能、長い)
いつどれを使用する必要がありますか? それらはすべて、Runnable を UI スレッドのメッセージ キューに追加するようです。
postDelayed は、Runnable を後でスケジュールしたい場合にのみ本当に役立つと思いますが、UI スレッドでも Runnable を実行するため、言及しただけです。
さらに混乱させるために、AsyncTask もあります。いつそれを使うべきですか?