我们要WorkerThread处理一些耗时时间长的操作,在handler.post()这个方法中,既然把runnable对象run()方法中的代码又扔回去给MainThread处理了,那为何不直接写在MainThread里面算了?
解决方案
40
handler.post(),只是提供一种选择,假如用handler的handleMessage来处理,需要实现的东西比较多,在某些场景仅仅需要执行某个特定的操作一次就够了,这时候用post明显要方便很多。同时,正如你所说post里面处理的runnable是在主线程执行的,所以可以刷新UI(一般也只是用来刷新UI),也一定不要做耗时操作。假如看到哪里在post里面做了耗时操作,不要疑惑为什么不放在主线程,只能是用法用错了。