Может ли кто-нибудь сказать мне, есть ли разница между использованием runOnUiThread () и Looper.getMainLooper (). Post () для выполнения задачи в потоке пользовательского интерфейса в Android?
Единственное, что я могу определить, так это то, что, поскольку runOnUiThread является нестатическим методом Activity, Looper.getMainLooper (). Post () более удобен, когда вам нужно закодировать что-то в классе, который не может видеть Activity (например, интерфейс).
Я не ищу обсуждения того, следует ли что-то выполнять в потоке пользовательского интерфейса, я понимаю, что некоторые вещи не могут, а многие вещи не должны, однако некоторые вещи (например, запуск AsyncTask) ДОЛЖНЫ выполняться из поток пользовательского интерфейса.
Спасибо,
Р.
runOnUiThread
проверит, является ли он уже потоком пользовательского интерфейса, и выполнит вашу задачу напрямую, вместо того, чтобы публиковать ее какMessage