根据文档,应该使用三个选项之一来从不同的线程访问 UI 线程。 这些是选项:
- Activity.runOnUiThread(可运行)
- View.post(可运行)
- View.postDelayed(Runnable, long)
我什么时候应该使用哪个?好像都是在UI线程的消息队列中加入一个Runnable。
我认为 postDelayed 仅在您想稍后安排 Runnable 时才真正有用,他们只是提到它,因为它还在 UI 线程上运行 Runnable。
另外还有 AsyncTask。我现在应该什么时候使用它?
最佳答案
runOnUiThread 和 View.post 完全相同,它们都向 Activity 的 Handler 发送可运行对象。所以使用任何你喜欢的。
关于 AsynchTask 它不用于在 UI 线程上运行。但是在异步任务完成工作后,它会在 UI 线程上调用一个名为 OnPostExcute
的方法。
关于这个主题有一个非常棒的教程 Here
关于android - 什么时候使用哪种方式访问UI线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740010/