Handler系列-prepareMainLooper在哪里调用的

ActivityThread的main方法里调用prepareMainLooper

java 复制代码
public final class ActivityThread {
    public static void main(String[] args) {
        Looper.prepareMainLooper(); //创建sMainLooper

        Looper.loop();
    }
}

prepareMainLooper创建了sMainLooper

java 复制代码
public final class Looper {
    private static Looper sMainLooper;  // guarded by Looper.class

    public static void prepareMainLooper() {
        prepare(false); //创建Looper
        synchronized (Looper.class) {
            if (sMainLooper != null) {
                throw new IllegalStateException("The main Looper has already been prepared.");
            }
            sMainLooper = myLooper(); //赋值给sMainLooper
        }
    }
}
相关推荐
TDengine (老段)2 小时前
TDengine 转换函数 TO_JSON 用户手册
android·大数据·数据库·json·时序数据库·tdengine·涛思数据
q***42823 小时前
SpringCloudGateWay
android·前端·后端
卫生纸不够用3 小时前
Appium-锁屏-Android
android·appium
阿拉斯攀登3 小时前
安卓工控机 OTA 升级方案(SpringBoot+MQTT)
android·spring boot·物联网·iot
顾林海4 小时前
从0到1搭建Android网络框架:别再让你的请求在"路上迷路"了
android·面试·架构
花花鱼4 小时前
android room中实体类变化以后如何迁移
android
Jomurphys5 小时前
设计模式 - 适配器模式 Adapter Pattern
android
雨白5 小时前
电子书阅读器:解析 EPUB 底层原理与实战
android·html
g***B7385 小时前
Kotlin协程在Android中的使用
android·开发语言·kotlin
A***27955 小时前
Kotlin反射机制
android·开发语言·kotlin