looper.prepare(Looper.prepare和Looper.loop怎么使用)

发布时间:2025-12-11 01:12:56 浏览次数:2

Looper.prepare() 方法用于初始化当前线程的 Looper 对象,该方法应该在当前线程的 Handler 或者 MessageQueue 使用之前调用。

Looper.loop() 方法是 Looper 类的核心方法,它会启动一个无限循环,在循环中不断地从当前线程的 MessageQueue 中取出消息进行处理。该方法会一直阻塞当前线程,直到调用 Looper.quit() 方法停止循环。

下面是一个简单的示例,演示了如何使用 Looper.prepare() 和 Looper.loop() 方法:

public class MyThread extends Thread {    public Handler mHandler;    @Override    public void run() {        // 初始化 Looper        Looper.prepare();        // 创建 Handler        mHandler = new Handler() {            @Override            public void handleMessage(Message msg) {                // 处理消息                // ...            }        };        // 启动循环        Looper.loop();    }}

在上述示例中,我们创建了一个线程类 MyThread,在 run() 方法中调用了 Looper.prepare() 初始化 Looper 对象,并创建了一个 Handler 对象。然后调用 Looper.loop() 方法启动循环。

在循环中,可以通过调用 mHandler.sendMessage() 发送消息,然后在 handleMessage() 方法中处理消息。

需要注意的是,Looper.loop() 方法会一直阻塞当前线程,因此要确保在合适的时候调用 Looper.quit() 方法来停止循环,否则会造成线程无法退出的问题。

looper.prepare
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477