Handler發送消息的Delay 可靠嗎?

  • 大於Handler Looper的週期時基本可靠(例如主線程>50ms)
  • Looper 負載越高,任務越容易積壓,進而導致卡頓
  • 不要用Handler的delay做計時使用

使用獨享的Looper

   		val handlerThread=HandlerThread("test_thread")
   		handlerThread.start()
        val handler=Handler(handlerThread.looper)

HandlerThread
方便啓動具有Looper的新線程。Looper可以在創建handler時使用


	//HandlerThread 的run方法
    @Override
    public void run() {
        mTid = Process.myTid();
        Looper.prepare();
        synchronized (this) {
            mLooper = Looper.myLooper();
            notifyAll();
        }
        Process.setThreadPriority(mPriority);
        onLooperPrepared();
        Looper.loop();
        mTid = -1;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章