View.postDelayed为什么它是一个实例方法?

时间:2014-04-14 13:27:25

标签: android

在Android平台中,View对象有一个实例方法postDelayed,根据文档说明:

  

使Runnable被添加到消息队列中,以便在之后运行   指定的时间量过去了。 runnable将在。上运行   用户界面线程。

我的问题:

  1. 为什么此方法必须是View的实例方法?
  2. 如果我在一个视图中调用postDelayed而不是另一个视图会不同呢?
  3. 感谢。

1 个答案:

答案 0 :(得分:2)

  

为什么这个方法必须是View的实例方法?

它在其当前实现中引用了mAttachInfo数据成员,并依次引用该数据成员的mHandlerHandler实际执行postDelayed()工作(如果mAttachInfo不是null)。欢迎您在the source code中阅读所有相关内容。

  

如果我在一个视图中调用postDelayed而不是另一个视图会不同呢?

理论上,两个View个实例可以使用单独的Handler个实例。但是,从记录的行为的角度来看,应该没有区别。