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
        }
    }
}
相关推荐
键来大师16 小时前
Android15 源码关闭Selinux
android·java·framework·rk3588
Ro Jace17 小时前
三国华容道(横刀立马)移动策略
android·java·数据库·人工智能·深度学习·神经网络·游戏
Digitally17 小时前
如何将短信从安卓手机传输到电脑
android
木易 士心17 小时前
Android Studio + Gemini 移动开发领域的一次范式转移
android·ide·android studio
GISer_Jing19 小时前
跨平台Hybrid App开发实战指南
android·flutter·react native
新之助小锅21 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
2501_916007471 天前
iOS性能调试工具终极指南,从系统底层到多端协同的全方位优化实践(2025版)
android·ios·小程序·https·uni-app·iphone·webview
2501_915921431 天前
iOS崩溃日志深度分析与工具组合实战,从符号化到自动化诊断的完整体系
android·ios·小程序·uni-app·自动化·cocoa·iphone
执念WRD1 天前
熊海CMS v1.0代码审计实战
android·nginx·安全·web安全·网络安全·系统安全