1,利用invalidate()重新整理介面
// 在oncreate()中開啟執行緒
new thread(new gamethread()).start();
// 例項化乙個handler
handler myhandler = new handler()
super.handlemessage(msg);}};
class gamethread implements runnable catch (interruptedexception e) }}
}
2,使用postinvalidate()重新整理介面
class gamethread implements runnable catch (interruptedexception e)
mgameview.postinvalidate();}}
}// view 類中postinvalidate()方法原始碼如下,可見它也是用到了handler的:
public void postinvalidate()
public void postinvalidatedelayed(long delaymilliseconds)
}
除了oncreate()是執行在ui執行緒上的,其實其他大部分方法都是執行在ui執行緒上的,其實其實只要你沒有開啟新的執行緒,你的**基本上都執行在ui執行緒上
**:
兩種獲取view的bitmap的方法
在開發中有時候需要獲取到乙個view當前的影象資訊,這個view可能是乙個單一的view,也可能是多個view組成的viewgroup,所以不能通過簡單的getbackground的方法獲取到這個影象資訊。下面提供兩個比較方便方法可以獲取這個資訊 通過canvas複製view的bitmap priv...
自定義View的兩種方式
一 xib自定義view 1.思路 2.關鍵 1 import23 class45 inte ce67 8 模型資料9 1113 14 15 通過模型資料來建立乙個view 16 1819 end 1 import 2 import 34 inte ce 5 property weak,nonato...
android 兩種非同步方式
使用asynctask 開啟子執行緒獲取伺服器資料,更新介面ui 非同步任務 後台執行,耗時的操作都放在這裡,相當於thread的run方法 override protected string doinbackground string.params 在執行後台任務之後,可以在這更改ui介面,相當於...