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
        }
    }
}
相关推荐
new_bie_B1 天前
Android16 Input 事件分发链路
android
TDengine (老段)1 天前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
YF02111 天前
深入剖析 Kotlin 的高效之道与核心实战
android·kotlin·app
程序员码歌1 天前
别再让 AI 自由发挥了:OpenSpec 才是团队协作不跑偏的关键
android·前端·人工智能
敲代码的鱼1 天前
NFC读卡能力 支持安卓/iOS/鸿蒙 UTS插件
android·ios·uni-app
刮风那天1 天前
Android 常驻进程如何被查杀?
android
刮风那天1 天前
Android 如何降低进程优先级可以被查杀?
android
资源分享助手1 天前
超级改图P图改字无限制版教程(安卓)AI改图软件、图片改字软件、安卓修图APP、智能消除工具、图片拼接APP、超级改图下载
android·人工智能
Lehjy1 天前
【Linux】文件系统磁盘存储结构
android·linux·运维
BU摆烂会噶2 天前
【LangGraph】节点内调用与状态隔离
android·人工智能·python·ui·langchain·人机交互