我在理解某些制作胎面循环之间的差异时遇到了问题。
一个是(粗略的演示):Thread thread=new Thread("name") {
public void run()
{
// do stuff
}
}.start();
第二个是: 制作一个imlpements可运行的课程, 创建一个帖子:
Thread thread = new Thread(this,"name").start();
和第三个(在android中,我不知道如果它可以工作一些如何):
制作一个处理程序,
创建一个Runnable,
并拥有handler.postDelayed(runnable)
或handler.post(runnable)
。
我不明白有什么区别,我唯一注意到的是制作一个Thread使得run循环比使用一个处理程序快得多。 有人可以向我解释一下他们之间有什么区别,我应该用什么来做什么?
答案 0 :(得分:2)
第一种和第二种方式完全相同。只是不同的结构在不同情况下更有用。请注意,Thread
实现了Runnable
,并且可能只是在新线程中运行自己。
第三种方式有点被你误解了。 Handler
在Runnable
实例化的线程中运行Handler
(除非您指定另一个looper)。如果您在UI线程中创建了Handler
,它也将在UI线程中运行Runnable
。结果它可能工作得更慢。