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
        }
    }
}
相关推荐
RDCJM7 小时前
【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
android·数据库·mysql
冬奇Lab8 小时前
AudioFlinger架构基础:Android音频系统的心脏
android·音视频开发·源码阅读
铁手飞鹰9 小时前
Visual Studio创建Cmake工程导出DLL,通过Python调用DLL
android·python·visual studio
冰语竹14 小时前
Android学习之相对布局
android
没有了遇见14 小时前
Android 中大型项目架构梳理
android
yashuk14 小时前
【MySQL】表的相关操作
android·mysql·adb
71-314 小时前
Android studio中真机操作
android·笔记·学习·其他·android studio
一只特立独行的Yang15 小时前
Android Focus小结
android
aaajj19 小时前
【Android】appops学习
android·学习
煤球王子19 小时前
学习记录:Android14中的Wifi_Direct(P2P)
android