一、Handler是什么
翻译一下,Handler被译为处理者,可以知道他可能是处理某个东西的。这个所谓的东西其实就是Android中的Message(消息),使用Handler可以将消息从一个线程传递到另一个线程,线程收到这个消息后,我们就可以相应的做自己的事。
二、为什么要使用Handler
Handler主要用途:跨线程通信。思考一个问题:Android线程机制要求,子线程中不能更新UI,否则会造成异常;但主线程(UI线程)中又不能进行耗时操作,容易造成应用ANR;所以这就需要在子线程中进行耗时操作,然后将结果返回给主线程中进行界面的更新;那怎么讲结果返回到主线程呢?这便引出了我们的Handler。在子线程中进行耗时操作后产生了结果,通过Handler就可以将这个结果(以Message的形式)传递到主线程中,主线程收到该结果后就可以进行相应的操作,通常为更新UI。