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
        }
    }
}
相关推荐
阿巴斯甜2 小时前
ARouter
android
Andya_net3 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
阿巴斯甜4 小时前
Map
android
巫山老妖4 小时前
鹅厂十年:三段式技术成长复盘
android·人工智能·程序员
阿巴斯甜4 小时前
List集合
android
ooseabiscuit5 小时前
Laravel6.x核心优化与特性全解析
android·开发语言·javascript
阿巴斯甜6 小时前
Kotlin 协程 Coroutine
android
Jomurphys6 小时前
Compose 适配 - 通过 UiMediaScope 获取设备信息
android·compose
阿巴斯甜7 小时前
必看12
android
阿巴斯甜7 小时前
必看11
android