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
        }
    }
}
相关推荐
曼岛_12 分钟前
[安卓逆向]编写第一个安卓项目(一)
android·安卓逆向
rocpp12 小时前
Android 相册选择与拍照接入实践:MediaStore 分页、权限适配与 FileProvider
android
Flynt13 小时前
升级Flutter 3.44,我踩了HCPP和AGP 9的坑
android·flutter·dart
白色牙膏13 小时前
Cocos Creator 2.4.x 接入 AdMob 插件的迁移实践
android
我命由我1234515 小时前
C++ - 面向对象 - 常成员函数
android·java·linux·c语言·开发语言·c++·算法
tryqaaa_16 小时前
学习日志(四)【php反序列化魔术方法以及pop构造配实战】
android
Java小学生丶17 小时前
记录一下我的 Gradle 开发环境配置过程
android·java·gradle·maven·安卓
问心无愧051318 小时前
ctf show web 入门256
android·前端·笔记
霸道流氓气质18 小时前
MySQL 索引设计实战指南
android·数据库·mysql
R语言爱好者18 小时前
叠氮酸介绍
android