0
我有幾個視圖,由計時器任務每秒更新一次。他們本身不能invalidate()
,因爲「只有創建視圖層次結構的原始線程才能觸及其視圖」。如何從另一個線程無效()一個視圖?
有一個叫做runOnUiThread
的函數,但是我需要一個Activity來運行它。
我怎樣才能解決這個問題?編號:是爲了什麼?我如何保證無效和更新會很快發生(如果UI線程不忙)?
我有幾個視圖,由計時器任務每秒更新一次。他們本身不能invalidate()
,因爲「只有創建視圖層次結構的原始線程才能觸及其視圖」。如何從另一個線程無效()一個視圖?
有一個叫做runOnUiThread
的函數,但是我需要一個Activity來運行它。
我怎樣才能解決這個問題?編號:是爲了什麼?我如何保證無效和更新會很快發生(如果UI線程不忙)?
1)
這是什麼postInvalidate()是?
是
使用此無效從非UI線程的視圖。
invalidate()
是在UI Thread
2)
如何保證更新
Views
我會的失效和更新將很快發生 (如果UI線程不忙)?
而且從文檔
導致一個無效對隨後的循環事件循環發生的同一部分
所以我想這很快就取決於你的「的定義」。正如文檔所說,它應該發生在下一個事件循環中
爲什麼你使用一個Timer(以及它後面的一個線程)來完成這樣一項簡單的任務?使用處理程序代替 – pskink
@pskink計時器正在模擬藍牙偵聽器線程。 – Andreas