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
        }
    }
}
相关推荐
袁美丽..8 小时前
Android studio的adb和终端的adb互相抢占端口
android·adb·android studio
鹏多多.9 小时前
flutter-使用fluttertoast制作丰富的高颜值toast
android·前端·flutter·ios
守城小轩9 小时前
Firefox Android 开发环境搭建全流程(四)
android·firefox·chrome devtools·指纹浏览器·浏览器开发
袁美丽..9 小时前
Android --- AOSP源码导入Android Studio
android·android studio
LiuYaoheng10 小时前
【Android】View 的基础知识
android·java·笔记·学习
出海小纸条10 小时前
Google Play 应用被拒-数据安全表单无效(设备上的应用)
android
和煦的春风10 小时前
简单讨论下lmkd 查杀机制
android
Android轮子哥10 小时前
月下载 40 万次的框架是怎么练成的
android
三少爷的鞋10 小时前
Kotlin 协程真的是线程框架吗?
android
三雒10 小时前
ART堆内存系列二:从堆中排除大对象
android·性能优化