关于handler
1. 一个Handler只有一个队列;
2. 在调用Handler.post(Runnable runnable)方法时,会将runnable封装成一个Message;
3. 在队列执行时,会判断当前的Message里是否封装了Runnable,如果封闭了,就直接执行Runnable,如果没有,将当前的Message传递给handleMessage(Message msg)处理;
4. Handler在实例化的时候可以设置一个callback<Handler.Callback>,callback也有一个handleMessage(Message msg)方法,如果步骤3中的Handler有callback,那么调用的是callback的handleMessage(Message msg),否则调用自身的handleMessage(Message msg)。