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
        }
    }
}
相关推荐
陆业聪24 分钟前
让 Android 里的 AI 真正「干活」:Function Calling 工程实现全解
android·ai·kotlin
毕设源码-赖学姐41 分钟前
【开题答辩全过程】以 基于Android的服装搭配APP为例,包含答辩的问题和答案
android
qq_717410011 小时前
Add Baidu NLP for projects without GMS packages
android
AI-小柒1 小时前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb
优选资源分享2 小时前
椒盐音乐 v11.1.0 丨安卓无广本地音乐播放器
android
xiangxiongfly9153 小时前
Android ArrayMap源码分析
android·arraymap
lishutong10065 小时前
直破 Android 17 大屏困局:Navigation 3 架构深度解析
android·架构
梦里花开知多少5 小时前
AOSP Android 14 壁纸架构深度分析
android
木子予彤5 小时前
直破 Android 17 大屏困局:Navigation 3 架构深度解析
android·android jetpack
用户41659673693555 小时前
记一次 Compose 文本排版填坑:为什么阿拉伯文案明明空间足够却强行换行?
android