Handler源码解析及自己写个handler

2022/2/27 17:21:52

本文主要是介绍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


这篇关于Handler源码解析及自己写个handler的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程