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
        }
    }
}
相关推荐
贤泽9 小时前
Android15 ContentProvider 深度源码分析(上)
android·aosp
张小潇9 小时前
AOSP15 Input专题getevent深入分析
android
broadview_java9 小时前
Android关于账号令牌Token的管理
android·账号token管理·android app
我命由我123459 小时前
Android 多进程开发 - AIDL 回调、RemoteCallbackList、AIDL 安全校验
android·java·安全·android studio·安卓·android-studio·android runtime
黄林晴10 小时前
Android17大屏适配 没得商量了
android
贤泽10 小时前
Android15 ContentProvider 深度源码分析(下)
android·aosp
Kapaseker10 小时前
你搞得懂这 15 个 Android 架构问题吗
android·kotlin
colicode12 小时前
安卓Android语音验证码接口API示例代码:Kotlin/Java版App验证开发
android·java·前端·前端框架·kotlin·语音识别
程序员敲代码吗12 小时前
解析Kotlin中元组的多返回值实现
android·开发语言·kotlin
冬奇Lab1 天前
应用异常退出实战分析:一次"幽灵杀手"引发的车载系统故障排查
android·性能优化·debug