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小郭30 分钟前
经典,Flutter iOS 又修复了一个构建问题,还是很抽象
android·前端·flutter
Kapaseker30 分钟前
不吹牛逼!精通 Compose 绘制(一)
android·kotlin
黄林晴39 分钟前
Android 终于做桌面了,而三星 DeX 早已把路趟完
android
Digitally40 分钟前
如何连接安卓手机到 Mac?2026 年 7 种可靠方法
android·macos·智能手机
克里斯蒂亚诺更新41 分钟前
Android Studio的运行一个简单的apk和模拟器
android·ide·android studio
克里斯蒂亚诺更新1 小时前
android studio导出apk
android·ide·android studio
鹏晨互联1 小时前
《Jetpack Compose vs 传统 XML:一个纯色+渐变色背景的直观对比》
android
陆业聪1 小时前
AI编码提效实战:Skill、Rule与上下文工程
android·ai编程·claude code
imuliuliang1 小时前
Laravel 9.x核心特性全解析
android
赏金术士1 小时前
Kotlin 从入门到进阶 之异常与标准库(八)
android·开发语言·kotlin