【发布时间】:2010-07-16 01:43:21
【问题描述】:
onTouch()、onClick()、runOnUiThread() 是否按顺序在同一个 UI 线程中运行?还是我必须担心它们之间的同步问题?
【问题讨论】:
标签: android multithreading event-handling ui-thread
onTouch()、onClick()、runOnUiThread() 是否按顺序在同一个 UI 线程中运行?还是我必须担心它们之间的同步问题?
【问题讨论】:
标签: android multithreading event-handling ui-thread
是onTouch(), onClick(), 在同一 UI 中运行的 runOnUiThread() 顺序线程?
是的。 99.9% 的时间,Android 会在主应用程序线程上调用您的方法。例外情况是:
AsyncTask 明确告诉它使用后台线程
【讨论】:
AsyncTask 在文档中的很多地方都有涉及,例如in its JavaDocs page。
onTouch() 使用AsyncTask 或在工作线程中运行。我不是在讲述onTouch 中的代码,而是onTouch 本身的方法。是否可以在工作线程上运行onTouch() 本身?
AsyncTask 上的doInBackground(),您在后台线程上被调用。