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
        }
    }
}
相关推荐
q***71852 小时前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
IT痴者4 小时前
《PerfettoSQL 的通用查询模板》---Android-trace
android·开发语言·python
游戏开发爱好者84 小时前
iOS IPA 上传工具全面解析,从 Transporter 到开心上架(Appuploader)命令行的高效上架实践
android·ios·小程序·https·uni-app·iphone·webview
alexhilton6 小时前
Jetpack Compose中的阴影艺术
android·kotlin·android jetpack
百***61879 小时前
Spring的构造注入
android·java·spring
Tom4i9 小时前
Kotlin 中的 inline 和 reified 关键字
android·开发语言·kotlin
yi诺千金10 小时前
Android U 自由窗口(浮窗)——启动流程(system_server侧流程)
android
清空mega12 小时前
第11章 网络编程
android·网络
自动化BUG制造器12 小时前
Android UI 线程不一定是主线程
android
无知的前端12 小时前
一文读懂-Jetpack与AndroidX
android·kotlin·android jetpack