`

关于looper说明二

阅读更多

在非主线程中通过Looper.myLooper()获取looper时,如果没有调用Looper.prepare(),获取的looper为null,Looper.prepare()是用来为当前线程创建消息队列的,也就是如果当前线程没有消息队列,将无法创

建Looper。

分享到:
评论

相关推荐

    Android应用源码之HandlerLooper2.zip

    `Android应用源码之HandlerLooper2.zip`可能包含了一个示例项目,用于演示如何有效使用这些组件。以下是对这些核心概念的详细说明: 1. **Handler**: `Handler` 是一个用于在特定线程(通常是UI线程)中发送和...

    Android的Message机制(Handler、Message、Looper)

    #### 二、Looper详解 **Looper**是整个消息机制的核心,它提供了一个无限循环来处理消息队列中的消息。 ##### 2.1 prepare() `Looper.prepare()`方法用于初始化一个`Looper`实例。默认情况下,它会调用`Looper....

    了解Android核心:Looper,Handler和HandlerThread

    下面通过两个例子进一步说明如何使用Handler和HandlerThread: 1. 使用Thread创建主线程Handler: 在这个例子中,我们创建了一个新的Thread,并在其中创建了一个新的Handler实例(handler2)。然后,我们通过...

    looper-messenger:用于与 Looper 进行消息传递的交互式命令终端

    2. `test` 目录:存放测试用例,用于验证代码功能的正确性。 3. `package.json` 文件:定义项目信息、依赖包和脚本命令。 4. `README.md` 文件:提供项目介绍、使用指南和贡献说明。 深入到 "looper-messenger" 的...

    Android 高级开发面试题以及答案整理

    在创建`Handler`时,它会尝试获取当前线程的`Looper`实例(通过`Looper.myLooper()`),如果获取不到,则说明该线程尚未准备好接收消息处理任务。 **3. 主线程中为何不需要调用Looper.prepare()** 主线程(UI线程...

    Android中消息机制

    以下是对该机制中关键角色及其作用的详细说明。 **1. Looper** - **简介**:Looper负责管理特定线程内的Message Queue(消息队列)。每个线程只能有一个Looper实例。 - **功能**:Looper的主要职责是循环不断地从...

    线程消息传送机制源码

    这说明Handler必须在有Looper的线程中使用,例如主线程或自定义的worker线程。 2. `Looper.loop()`是消息循环的入口,它会不断从消息队列中取出Message并分发。这个过程会一直持续,直到消息队列为空并且没有新的...

    handler机制1

    下面是关于Handler机制的详细说明: 1. **Looper的准备**:`Looper.prepare()`方法会在当前线程中创建并初始化一个Looper对象。这个方法会确保每个线程只调用一次,因此在同一个线程中,只有一个MessageQueue被创建...

    对handler机制的回答

    2. **Handler与Looper的关系**:每一个`Handler`都绑定到一个`Looper`,而每个`Looper`又绑定到一个线程。这意味着一个线程只能有一个`Looper`,但可以有多个`Handler`。 3. **消息的延迟发送**:通过设置`Message`...

    关于handler 的实例

    在`教程重要说明.txt`文件中,可能会详细讲解如何创建和使用Handler,包括如何在子线程中启动新任务,然后通过Handler将结果传递回主线程更新UI,以及避免因主线程阻塞导致的ANR(Application Not Responding)错误...

    Handler消息处理机制+面试说.md

    2. **`Looper`的作用**:`Looper`的主要作用是为线程创建一个消息循环,这个消息循环将不断地从`MessageQueue`中取出消息并交给对应的`Handler`进行处理。需要注意的是,`Looper.prepare()`方法在一个线程中只能被...

    HandlerTest.zip

    - **JavaApk源码说明.txt**:这个文本文件可能包含了HandlerTest应用的源码简介,包括主要功能、实现原理和使用注意事项。开发者可以通过阅读这个文件来快速理解项目的整体架构。 - **下载更多打包源码~.url**:这...

    应用源码之HandlerMessage3.zip

    2. **异步处理**:通过`Handler`发送`Message`,开发者可以在后台线程执行耗时操作,然后通过`Handler`将结果传递到主线程更新UI,保证了用户界面的流畅性。 3. **消息队列**:`Looper`维护了一个`MessageQueue`,...

    【必看说明】年薪40W+ Android高级教程 (2).zip

    【必看说明】年薪40W+ Android高级教程 (2).zip 这个压缩包文件包含了一份关于Android高级开发的教程,目标是帮助开发者提升技能并有可能获得年薪40W+的工作机会。从描述中我们可以推测,这个资源可能包含了一些实用...

    JavaApk源码说明.rar

    JavaApk源码说明是一个关于Java开发Android应用的资源包,包含了源代码示例和可能的解释文档。这个压缩包可能是为了帮助开发者理解和学习如何在Android平台上构建和设计应用程序。以下是一些相关的Java和Android开发...

    Arduino-teensyPiLooper:与my裸机rPi Looper一起在teensy 3.2上运行的程序,可提供往返rPi的串行通信

    4. **文档**:可能包含README文件,解释如何编译、烧录代码到Teensy以及如何在Raspberry Pi上运行程序,还有可能包括关于如何连接和测试设备的说明。 5. **示例和测试代码**:可能有单独的示例程序,用于测试特定...

    线程与消息处理

    2. **Handler的使用**:创建Handler时需要关联一个Looper。默认情况下,主线程已经有一个运行的Looper,而在其他线程中,我们需要手动调用`Looper.prepare()`和`Looper.loop()`来启动消息循环。Handler通过`...

    Android基于Choreographer的渲染机制详解.docx

    在 Choreographer 的源码中,构造函数 private Choreographer(Looper looper) 中,做了几个初始化操作,根据 Looper 对象生成,Looper 和线程是一对一的关系,对应上面说明里的每个线程对应一个 Choreographer。...

    Android 远程登录含有loading登录效 (2).zip

    以下是关于这个主题的一些关键知识点和详细说明: 1. **网络请求库**:在Android中,通常使用像`Volley`、`OkHttp`或`Retrofit`这样的网络请求库来发送HTTP请求到远程服务器。这些库简化了网络通信过程,提供了异步...

    Android Handler机制的工作原理详析

    3. 从MessageQueue中获取下一个Message,如果队列为空,说明所有消息已经被处理,循环结束。 4. 如果获取到Message,执行Message的target(即Handler)的dispatchMessage()方法,将消息分发给对应Handler。 5. 处理...

Global site tag (gtag.js) - Google Analytics