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
        }
    }
}
相关推荐
代码s贝多芬的音符1 小时前
android 两个人脸对比 mlkit
android
darkb1rd3 小时前
五、PHP类型转换与类型安全
android·安全·php
gjxDaniel3 小时前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
csj503 小时前
安卓基础之《(22)—高级控件(4)碎片Fragment》
android
峥嵘life4 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
stevenzqzq5 小时前
Compose 中的状态可变性体系
android·compose
似霰5 小时前
Linux timerfd 的基本使用
android·linux·c++
darling3317 小时前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
你刷碗7 小时前
基于S32K144 CESc生成随机数
android·java·数据库
TheNextByte18 小时前
Android上的蓝牙文件传输:跨设备无缝共享
android