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
        }
    }
}
相关推荐
恋猫de小郭5 小时前
你是不是觉得 R8 很讨厌,但 Android 为什么选择 R8 ?也许你对 R8 还不够了解
android·前端·flutter
城东米粉儿7 小时前
Android Glide 笔记
android
城东米粉儿7 小时前
Android TheRouter 笔记
android
城东米粉儿13 小时前
Android AIDL 笔记
android
城东米粉儿13 小时前
Android 进程间传递大数据 笔记
android
城东米粉儿14 小时前
Android KMP 笔记
android
冬奇Lab15 小时前
WMS核心机制:窗口管理与层级控制深度解析
android·源码阅读
松仔log15 小时前
JetPack——Paging
android·rxjava
城东米粉儿16 小时前
Android Kotlin DSL 笔记
android