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
        }
    }
}
相关推荐
yangpipi-13 分钟前
《C++并发编程实战》第5章 C++内存模型和原子操作
android·java·c++
云水木石2 小时前
Android 的下一个战场:Windows 应用与游戏?
android·windows·游戏
雨声不在2 小时前
Android文字渐变的实现
android·textview
GoldenPlayer3 小时前
KTS语法
android
GoldenPlayer3 小时前
后台服务Service销毁逻辑+单例造成的内存泄露
android
GoldenPlayer3 小时前
自定义APK&gradle全局配置文件
android
うちは止水3 小时前
Android Hal层开发流程
android·hal
李小轰_Rex3 小时前
把手机变成听诊器!摄像头 30 秒隔空测心率 - 开箱即用
android·音视频开发
为码消得人憔悴5 小时前
Android perfetto - 记录分析memory
android·性能优化
尤老师FPGA5 小时前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十二讲)
android·java·ui