android - 什么时候使用哪种方式访问​​UI线程?

标签 android multithreading user-interface

根据文档,应该使用三个选项之一来从不同的线程访问 UI 线程。 这些是选项:

  1. Activity.runOnUiThread(可运行)
  2. View.post(可运行)
  3. View.postDelayed(Runnable, long)

我什么时候应该使用哪个?好像都是在UI线程的消息队列中加入一个Runnable。

我认为 postDelayed 仅在您想稍后安排 Runnable 时才真正有用,他们只是提到它,因为它还在 UI 线程上运行 Runnable。

另外还有 AsyncTask。我现在应该什么时候使用它?

最佳答案

runOnUiThreadView.post 完全相同,它们都向 Activity 的 Handler 发送可运行对象。所以使用任何你喜欢的。

关于 AsynchTask 它不用于在 UI 线程上运行。但是在异步任务完成工作后,它会在 UI 线程上调用一个名为 OnPostExcute 的方法。

关于这个主题有一个非常棒的教程 Here

关于android - 什么时候使用哪种方式访问​​UI线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740010/

相关文章:

c# - 单线程单元问题

c++ - 澄清 CSingleLock 的作用及其使用的同步对象

java - 数组到字符串以附加到 JFrame GUI 中的文本区域?

javascript - 如何在更改时保存按钮

android - 在多边形上找到离用户位置最近的点

c++ - 线程池 : Block destruction until all work is done

android - 我只想设置一次 setOnItemClickListener

cocoa - NSStepper 忽略当前 NSTextField 值

android - 如何使用推送通知同步 SQLite 和 MySQL 数据库?

Android Studio 无法调试并出现错误 org.gradle.process.internal.ExecException