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
        }
    }
}
相关推荐
冬奇Lab23 分钟前
InputManagerService:输入事件分发与ANR机制
android·源码阅读
张小潇3 小时前
AOSP15 Input专题InputManager源码分析
android·操作系统
RdoZam6 小时前
Android-封装基类Activity\Fragment,从0到1记录
android·kotlin
奥陌陌11 小时前
android 打印函数调用堆栈
android
用户9851200358311 小时前
Compose Navigation 3 深度解析(二):基础用法
android·android jetpack
恋猫de小郭11 小时前
Android 官方正式官宣 AI 支持 AppFunctions ,Android 官方 MCP 和系统级 OpenClaw 雏形
android·前端·flutter
黄林晴12 小时前
Android 17 Beta 2,隐私这把锁又拧紧了
android
Kapaseker12 小时前
研究表明,开发者对Kotlin集合的了解不到 20%
android·kotlin
bqliang12 小时前
Compose 媒体查询 (Media Query API) 🖱️👇🕹️
android·android jetpack
程序员陆业聪21 小时前
Android 平台 AI Agent 技术架构深度解析
android·人工智能