【专属源码精灵】【多合一收款码html源码】【网页麻将服务器端源码】android轮询源码_android轮询服务器

时间:2024-12-28 16:50:40 来源:华为 android源码 分类:知识

1.Android之Looper使用

android轮询源码_android轮询服务器

轮轮询专属源码精灵

Android之Looper使用

轮轮询专属源码精灵

       Looper是Android中的一个类,用于为线程提供消息循环。在Android中,主线程已经默认开启了一个Looper,因此可以直接使用Handler来发送消息。但是对于其他线程,如果需要使用Handler来发送消息,就需要先创建一个Looper。

轮轮询专属源码精灵

       ä»¥ä¸‹æ˜¯ä½¿ç”¨Looper的步骤:

轮轮询专属源码精灵

       1. 在子线程中创建一个Looper对象,并调用Looper的prepare()方法和Looper的loop()方法,这样就可以为该线程创建一个消息循环。

轮轮询专属源码精灵

       ```java

轮轮询专属源码精灵

       public class MyThread extends Thread {

轮轮询专属源码精灵

        public Handler mHandler;

轮轮询专属源码精灵

        public void run() {

轮轮询专属源码精灵

        // 创建Looper对象

轮轮询专属源码精灵

        Looper.prepare();

轮轮询专属源码精灵

        // 创建Handler对象

轮轮询专属源码精灵

        mHandler = new Handler() {

轮轮询专属源码精灵

        public void handleMessage(Message msg) {

轮轮询专属源码精灵

        // 处理消息

轮轮询专属源码精灵

        }

轮轮询专属源码精灵

        };

轮轮询专属源码精灵

        // 进入消息循环

轮轮询专属源码精灵

        Looper.loop();

轮轮询专属源码精灵

        }

轮轮询专属源码精灵

       }

轮轮询专属源码精灵

       ```

轮轮询专属源码精灵

       2. 在主线程或其他线程中,可以通过Handler向该线程发送消息。

轮轮询专属源码精灵

       ```java

轮轮询专属源码精灵

       MyThread thread = new MyThread();

轮轮询专属源码精灵

       thread.start();

轮轮询专属源码精灵

       // 向子线程发送消息

轮轮询专属源码精灵

       thread.mHandler.sendEmptyMessage(1);

轮轮询专属源码精灵

       ```

轮轮询专属源码精灵

       åœ¨ä½¿ç”¨å®ŒLooper之后,需要调用Looper的quit()方法来退出消息循环。

轮轮询专属源码精灵

       ```java

轮轮询专属源码精灵

       Looper.myLooper().quit();

轮轮询专属源码精灵

       ```

轮轮询专属源码精灵

       éœ€è¦æ³¨æ„çš„是,Looper是一个轮询消息队列的无限循环,如果没有消息需要处理,会一直阻塞在loop()方法处,因此需要谨慎使用,避免出现死循环或内存泄漏等问题。

轮轮询专属源码精灵