Code Bye

关于handler.post()的一点疑问

我们要WorkerThread处理一些耗时时间长的操作,在handler.post()这个方法中,既然把runnable对象run()方法中的代码又扔回去给MainThread处理了,那为何不直接写在MainThread里面算了?
解决方案

40

handler.post(),只是提供一种选择,假如用handler的handleMessage来处理,需要实现的东西比较多,在某些场景仅仅需要执行某个特定的操作一次就够了,这时候用post明显要方便很多。同时,正如你所说post里面处理的runnable是在主线程执行的,所以可以刷新UI(一般也只是用来刷新UI),也一定不要做耗时操作。假如看到哪里在post里面做了耗时操作,不要疑惑为什么不放在主线程,只能是用法用错了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于handler.post()的一点疑问