最近,我通过扩展View
类在Android应用程序中编写了自定义View
。我需要在其中添加一些循环动画,并使用new Handler().postDelayed(...)
设置了循环之间的延迟。我的一位同事告诉我,由于Handler
已经有了View
,所以我不需要创建它的新实例,我只需要调用postDelayed(...)
。这种方法似乎合法,但是,我对此表示怀疑,这是否是一种很好的做法,也许会破坏某些东西?
我想听听这两种方法之间的区别,为什么View
集成了此方法postDelayed()
,并且确实是一样的事情来使用此方法而不是创建新的Handler
实例并在其上调用postDelayed()
?
答案 0 :(得分:2)
处理程序由AttachInfo
对象提供。这是View中的最终课程。包含有关视图的许多信息。
/**
* A Handler supplied by a view's {@link android.view.ViewRootImpl}. This
* handler can be used to pump events in the UI events queue.
*/
final Handler mHandler;
您可以查看View类文档
是的,您可以使用它而不是创建自己的。