哪种方法更适合自定义视图:创建新的处理程序还是使用现有的处理程序?
Which approach is better for custom View: creating new Handler or using existing one?
最近,我通过扩展 View
class 在我的 Android 应用程序中编写自定义 View
。我需要一些循环动画,我使用 new Handler().postDelayed(...)
来设置循环之间的延迟。我的一位同事告诉我,我不需要创建 Handler
的新实例,因为 View
已经有了它,我只需要调用 postDelayed(...)
。这种方法似乎是合法的,但是,我很怀疑,这是否是一种好做法,也许它可能会破坏某些东西?
我想听听这些方法之间的区别,为什么 View
集成了这种方法 postDelayed()
和 这真的是一回事吗使用此方法而不是创建新的 Handler
实例并在其上调用 postDelayed()
?
处理程序由 AttachInfo
对象提供。它是视图中的最后一个class。包含很多关于视图的信息。
/**
* 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;
您可以查看视图 class 文档
是的,您可以使用它而不是创建自己的。
最近,我通过扩展 View
class 在我的 Android 应用程序中编写自定义 View
。我需要一些循环动画,我使用 new Handler().postDelayed(...)
来设置循环之间的延迟。我的一位同事告诉我,我不需要创建 Handler
的新实例,因为 View
已经有了它,我只需要调用 postDelayed(...)
。这种方法似乎是合法的,但是,我很怀疑,这是否是一种好做法,也许它可能会破坏某些东西?
我想听听这些方法之间的区别,为什么 View
集成了这种方法 postDelayed()
和 这真的是一回事吗使用此方法而不是创建新的 Handler
实例并在其上调用 postDelayed()
?
处理程序由 AttachInfo
对象提供。它是视图中的最后一个class。包含很多关于视图的信息。
/**
* 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;
您可以查看视图 class 文档
是的,您可以使用它而不是创建自己的。