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
        }
    }
}
相关推荐
程序员清洒7 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
running up that hill8 小时前
Android的线性布局
android
m0_748229998 小时前
Laravel9.x核心特性全解析
android
2603_9494621010 小时前
Flutter for OpenHarmony社团管理App实战:意见反馈实现
android·flutter
错把套路当深情11 小时前
android两种渠道支持一键打包 + 随意组合各种渠道
android
彬sir哥12 小时前
android studio如何把.gradle从C盘移到D盘
android·gradle·maven·android studio
、BeYourself13 小时前
TabLayout 与 ViewPager2 的基本使用
android·android-studio
南村群童欺我老无力.13 小时前
Flutter 框架跨平台鸿蒙开发 - 城市文创打卡:探索城市文化创意之旅
android·flutter·华为·harmonyos
Madison-No714 小时前
【Linux】文件操作&&重定向原理
android·linux·运维
2603_9494621014 小时前
Flutter for OpenHarmony社团管理App实战:消息中心实现
android·javascript·flutter