哪种方法更适合自定义View:创建新的Handler或使用现有的Handler?

时间:2019-07-04 12:11:00

标签: android view handler android-custom-view postdelayed

最近,我通过扩展View类在Android应用程序中编写了自定义View。我需要在其中添加一些循环动画,并使用new Handler().postDelayed(...)设置了循环之间的延迟。我的一位同事告诉我,由于Handler已经有了View,所以我不需要创建它的新实例,我只需要调用postDelayed(...)。这种方法似乎合法,但是,我对此表示怀疑,这是否是一种很好的做法,也许会破坏某些东西?

我想听听这两种方法之间的区别,为什么View集成了此方法postDelayed(),并且确实是一样的事情来使用此方法而不是创建新的Handler实例并在其上调用postDelayed()

1 个答案:

答案 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类文档

是的,您可以使用它而不是创建自己的。