Handler源码解析及自己写个handler

handler消息机制是安卓各个进程的核心,是程序可以持续运行而不退出的原因所在,但是原理却很简单,我们完全可以自己手写一个。下面我们的思路是,分析子线程中handler用法,分析源码,找出handler源码里的关键类,最后然后手写一个handler。

第一部分:使用handler

       Thread thread=new Thread(new Runnable() {
            @Override
            public void run() {
                //准备looper
                Looper.prepare();
                //创建hanlder
                mHanler=new Handler(Looper.myLooper());
                //开启循环
                Looper.loop();
            }
        });
        thread.start();

分四步,第一步创建looper,第二步创建handler,第三步开启循环,第四步就是发送消息了。

第二部分:源码分析

1.Looper.prepare();干了什么?

    private static void prepare(boolean quitAllowed) {
        //判断当前线程是否已经有looper了,设置过了就不能再设置了
        if (sThreadLocal.get() != null) {
            throw new RuntimeException("Only one Looper may be created per
上一篇:线程同步机制(Synchronized)


下一篇:GUI学习