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
        }
    }
}
相关推荐
TO_ZRG17 小时前
Android Content Provider 基础
android·jvm·oracle
studyForMokey17 小时前
【Android面试】数据库
android·数据库·面试
胡利光17 小时前
Harness Engineering 03|Eval & Trace Harness:验证和追溯的工程组织
android·开发语言·kotlin
jvvz afqh17 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
aaajj17 小时前
【Android】防骚扰电话自动接听助手方案
android·人工智能
QCzblack18 小时前
php-ser-libs
android·开发语言·php
苏坡余18 小时前
Android Pixel7 13.0源码编译记录
android
灵魂学者18 小时前
使用 Android Studio 进行 HbuilderX H5+App 离线打包
android·ide·android studio·hbuilderx·apk build
scan72418 小时前
将记忆存储到数据库中
android
黄林晴18 小时前
Kotlin 2.4.0-Beta2 发布,语法与多平台能力全线革新
android·kotlin