【问题标题】:Are onTouch(), onClick() running sequentially in the same thread?onTouch(), onClick() 是否在同一个线程中顺序运行?
【发布时间】:2010-07-16 01:43:21
【问题描述】:

onTouch()onClick()runOnUiThread() 是否按顺序在同一个 UI 线程中运行?还是我必须担心它们之间的同步问题?

【问题讨论】:

    标签: android multithreading event-handling ui-thread


    【解决方案1】:

    是onTouch(), onClick(), 在同一 UI 中运行的 runOnUiThread() 顺序线程?

    是的。 99.9% 的时间,Android 会在主应用程序线程上调用您的方法。例外情况是:

    • 您通过AsyncTask 明确告诉它使用后台线程
    • 如果您通过 AIDL 向第三方应用公开接口

    【讨论】:

    • @Wizard: AsyncTask 在文档中的很多地方都有涉及,例如in its JavaDocs page
    • 好的,但我怎么可能告诉onTouch() 使用AsyncTask 或在工作线程中运行。我不是在讲述onTouch 中的代码,而是onTouch 本身的方法。是否可以在工作线程上运行onTouch() 本身?
    • @Wizard:“是否可以在工作线程上运行 onTouch() 本身?” - 不。我的第一个项目符号指的是AsyncTask 上的doInBackground(),您在后台线程上被调用。
    猜你喜欢
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 2016-02-10
    • 2013-08-13
    相关资源
    最近更新 更多