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
        }
    }
}
相关推荐
没有了遇见9 分钟前
Android(Coil,Glide)大量图片加载缓存清理问题(二 Coil处理)
android
城东米粉儿18 分钟前
Android Dagger2笔记
android
没有了遇见31 分钟前
Android(Coil,Glide)大量图片加载缓存清理问题(一)
android
恋猫de小郭38 分钟前
谷歌 Genkit Dart 正式发布:现在可以使用 Dart 和 Flutter 构建全栈 AI 应用
android·前端·flutter
曾经我也有梦想2 小时前
Day4 Kotlin 高级特性
android
simplepeng2 小时前
Compose Multiplatform 中的 Navigation 3
android
Kapaseker8 小时前
一杯美式讲完 Sealed Class
android·kotlin
冬奇Lab20 小时前
PowerManagerService(下):Doze模式与电池优化
android·源码阅读
砖厂小工21 小时前
Compose 中函数引用 vs Lambda:到底该用哪个?
android
Kapaseker1 天前
详解 Compose background 的重组陷阱
android·kotlin