最近一直在学习多线程,handler的作用真的很重要啊,所以保存这篇看的蛮懂的。
Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.post(new Runnable() {
@Override
public void run() {
showContentView(contentView);
}
});
下面我们先来看一下这个方法是怎么执行的
首先:
public final boolean post(Runnable r)
{
return sendMessageDelayed(getPostMessage(r), 0);
}
它把Runnable重新封装了一遍然后调用了sendMessageDelayed方法
看一下是怎么封装的
private final Message getPostMessage(Runnable r) {
Message m = Message.obtain();
m.callback = r;
return m;
}
看到了吧,用过Handler的都知道Message是用来记录信息的最小单元,这里把Runnable封装到一个Message对象并返回
然后: