亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
从化市| 如皋市| 镶黄旗| 平乡县| 星子县| 远安县| 东至县| 阿拉善右旗| 东丰县| 馆陶县| 邻水| 长岭县| 宁武县| 府谷县| 新安县| 阳原县| 娄底市| 博湖县| 宁波市| 兴文县| 萨嘎县| 通州区| 杭锦后旗| 乡城县| 斗六市| 繁峙县| 彩票| 温泉县| 桃园市| 财经| 宕昌县| 芜湖市| 文水县| 历史| 昌江| 澄城县| 海南省| 乐陵市| 湖州市| 丹凤县| 余江县|