91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

handlerthread如何與UI線程通信

小樊
81
2024-06-28 18:46:30
欄目: 編程語言

HandlerThread是Android中的一個類,用于在后臺線程中執行任務。要與UI線程進行通信,可以使用Handler類來實現。

首先,在HandlerThread中創建一個Handler對象,并在UI線程中創建一個Handler對象,然后在UI線程中向HandlerThread發送消息,從而實現UI線程與HandlerThread之間的通信。

以下是一個簡單的示例代碼:

public class MyHandlerThread extends HandlerThread {
    private Handler mHandler;

    public MyHandlerThread(String name) {
        super(name);
    }

    @Override
    protected void onLooperPrepared() {
        super.onLooperPrepared();
        mHandler = new Handler(getLooper()) {
            @Override
            public void handleMessage(Message msg) {
                //處理消息
            }
        };
    }

    public Handler getHandler() {
        return mHandler;
    }
}

public class MainActivity extends AppCompatActivity {
    private MyHandlerThread mHandlerThread;
    private Handler mHandler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mHandlerThread = new MyHandlerThread("MyHandlerThread");
        mHandlerThread.start();

        mHandler = new Handler(Looper.getMainLooper()) {
            @Override
            public void handleMessage(Message msg) {
                //處理從HandlerThread傳遞來的消息
            }
        };

        //發送消息給HandlerThread
        mHandlerThread.getHandler().sendMessage(new Message());
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mHandlerThread.quit();
    }
}

在上面的例子中,MyHandlerThread類繼承自HandlerThread,并在onLooperPrepared()方法中創建了一個Handler對象用于處理消息。在MainActivity中,我們創建了一個Handler對象用于處理來自HandlerThread的消息,并且可以通過調用getHandler()方法獲取MyHandlerThread中的Handler對象,然后發送消息給HandlerThread。

0
威远县| 东明县| 常熟市| 错那县| 马边| 宁乡县| 肇东市| 德江县| 临颍县| 通河县| 施甸县| 广州市| 杭锦旗| 弥渡县| 保定市| 大丰市| 安岳县| 吉木萨尔县| 丹东市| 东安县| 弋阳县| 威海市| 襄城县| 鸡西市| 方山县| 台北市| 水富县| 灵宝市| 辽中县| 宜良县| 札达县| 驻马店市| 富阳市| 共和县| 龙里县| 崇义县| 朝阳区| 双流县| 西乌| 江都市| 南阳市|