Android 如何从自定义类在UI线程上运行Runnable

Android 如何从自定义类在UI线程上运行Runnable,android,Android,如何从自定义类在UI线程上运行Runable?方法“runOnUiThread(Runnable)”可以完成作业,但它是活动的一部分。我想知道应用程序类是否支持类似的东西,因为很容易获得它的实例。 我已经阅读了androidannotation框架中的注释“@UiTread”。此注释也适用于自定义类吗?您可以使用或我建议您避免在UI线程上运行Runnable。我能想到的唯一原因就是做一些定时器,在它退出之前“休眠”一段时间。一般来说,在Android框架之外使用线程、可运行程序等会导致很多性能问

如何从自定义类在UI线程上运行Runable?方法“runOnUiThread(Runnable)”可以完成作业,但它是活动的一部分。我想知道应用程序类是否支持类似的东西,因为很容易获得它的实例。
我已经阅读了androidannotation框架中的注释“@UiTread”。此注释也适用于自定义类吗?

您可以使用或我建议您避免在UI线程上运行Runnable。我能想到的唯一原因就是做一些定时器,在它退出之前“休眠”一段时间。一般来说,在Android框架之外使用线程、可运行程序等会导致很多性能问题。并不是说它们不起作用,但你可能会为了调试它们而大发雷霆


相反,要做“后台”工作,请使用AsyncTask或IntentService。

如果选择选项一:请确保在UI线程上创建处理程序(或传入创建的循环器),因为处理程序与“当前线程”关联,换句话说,就是创建它的线程。这实际上有一个技巧。创建主循环器时,只需将其传递给处理程序。主循环器是在UI线程中运行的循环器
mHandler=newhandler(Looper.getMainLooper())我知道,我之前评论中括号内的部分就是这么说的。;)不管怎么说,我认为这可能值得向OP指出。如果需要从另一个类更新主UI线程上的某些内容,我可以问一下为什么不使用AsyncTask吗?