当前位置: 首页 > article >正文

Handler系列-prepareMainLooper在哪里调用的

ActivityThread的main方法里调用prepareMainLooper

public final class ActivityThread {
    public static void main(String[] args) {
        Looper.prepareMainLooper(); //创建sMainLooper

        Looper.loop();
    }
}

prepareMainLooper创建了sMainLooper

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
        }
    }
}


http://www.kler.cn/a/153363.html

相关文章:

  • spring boot mybatis TypeHandler 看源码如何初始化及调用
  • vue请求如何按顺序执行
  • externalTrafficPolicy 再探
  • P8A002-CIA安全模型-配置Linux描述网络安全CIA模型之可用性案例
  • Postman如何导入和导出接口文件
  • 【开源视频联动物联网平台】j2mod 库写一个Modbus TCP 服务器
  • linux关于文件大小的换算
  • Quirks(怪癖)模式是什么?它和 Standards(标准)模式有什么区别?
  • 高端网站设计公司 -蓝蓝设计数据可视化大屏服务
  • Day03 嵌入式---中断
  • 【学习记录】从0开始的Linux学习之旅——应用开发(helloworld)
  • 目标检测YOLO系列从入门到精通技术详解100篇-【自动驾驶】激光雷达
  • 自动驾驶学习笔记(十二)——定位技术
  • 基于Springboot的在线问卷调查系统(有报告)。Javaee项目,springboot项目。
  • TCP三次握手过程
  • 目标检测——Fast R-CNN算法解读
  • R语言阶段复习一
  • Elasticsearch:LangChain 是什么?
  • Java 配置文件的使用(附代码信息讲解)
  • 【稳定检索|投稿优惠】2024年生物神经工程与健康大数据国际会议(ICBNHBD 2024)