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
        }
    }
}
相关推荐
Chrison_mu2 小时前
Android项目背景动效-Kotlin
android·开发语言·kotlin
曾经的三心草4 小时前
JavaEE初阶-多线程2
android·java·java-ee
v***5654 小时前
Spring Cloud Gateway
android·前端·后端
苦逼的搬砖工6 小时前
基于 easy_rxdart 的轻量响应式与状态管理架构实践
android·flutter
2501_915918416 小时前
苹果上架 iOS 应用的工程实践,一次从零到上线的完整记录
android·ios·小程序·https·uni-app·iphone·webview
從南走到北7 小时前
JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5
android·java·ios·微信小程序
2501_915918418 小时前
如何解析iOS崩溃日志:从获取到符号化分析
android·ios·小程序·https·uni-app·iphone·webview
Entropless9 小时前
OkHttp 深度解析(一) : 从一次完整请求看 OkHttp 整体架构
android·okhttp
v***91309 小时前
Spring+Quartz实现定时任务的配置方法
android·前端·后端
wilsend9 小时前
Android Studio 2024版新建java项目和配置环境下载加速
android