Handler 中 post(Runnable) 和 sendMessage(Message) 的区别

difference between post(Runnable) and sendMessage(Message) in Handler

我只想知道使用 sendMessage (Message msg)post (Runnable r) 的确切区别是什么。

因为即使我们有 Seperate Runnable,这两种方法都将在 Main UI 线程中 运行。

他们实际上在幕后调用了相同的代码。所以这不是一个大问题。 SendMessage 可能稍微更有效率(使用的对象更少,因为 post 将创建一个 Message 对象),但效率太低以至于根本无关紧要。使用 sendMessage 您可以添加一个数据对象以及一个可运行对象,但是如果您不使用匿名对象并通过构造函数将其传入,则可以使用可运行对象来执行此操作。

总而言之,没有太多。使用更方便的那个(通常是post)。