欢迎来到皮皮网官网

【spark stream源码】【挪车网源码】【网上源码哪个好】android轮询源码_android轮询服务器

时间:2024-11-28 16:55:26 来源:usb控制软件源码

1.Android之Looper使用

android轮询源码_android轮询服务器

轮轮询spark stream源码

Android之Looper使用

轮轮询spark stream源码

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

轮轮询spark stream源码

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

轮轮询spark stream源码

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

轮轮询spark stream源码

       ```java

轮轮询spark stream源码

       public class MyThread extends Thread {

轮轮询spark stream源码

        public Handler mHandler;

轮轮询spark stream源码

        public void run() {

轮轮询spark stream源码

        // 创建Looper对象

轮轮询spark stream源码

        Looper.prepare();

轮轮询spark stream源码

        // 创建Handler对象

轮轮询spark stream源码

        mHandler = new Handler() {

轮轮询spark stream源码

        public void handleMessage(Message msg) {

轮轮询spark stream源码

        // 处理消息

轮轮询spark stream源码

        }

轮轮询spark stream源码

        };

轮轮询spark stream源码

        // 进入消息循环

轮轮询spark stream源码

        Looper.loop();

轮轮询spark stream源码

        }

轮轮询spark stream源码

       }

轮轮询spark stream源码

       ```

轮轮询spark stream源码

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

轮轮询spark stream源码

       ```java

轮轮询spark stream源码

       MyThread thread = new MyThread();

轮轮询spark stream源码

       thread.start();

轮轮询spark stream源码

       // 向子线程发送消息

轮轮询spark stream源码

       thread.mHandler.sendEmptyMessage(1);

轮轮询spark stream源码

       ```

轮轮询spark stream源码

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

轮轮询spark stream源码

       ```java

轮轮询spark stream源码

       Looper.myLooper().quit();

轮轮询spark stream源码

       ```

轮轮询spark stream源码

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

轮轮询spark stream源码

copyright © 2016 powered by 皮皮网   sitemap