Day 3???
Title 1 ??UI線程阻塞及優化
//為Button添加一個動畫操作的
Button button=(Button)findViewById(R.id.button);//創建按鈕
TranslateAnimation animation=new TranslateAnimation(startX,endX,startY,endY);//設置按鈕移動的方式?
animation.setRepeat(num);//設置移動的次數 num次
animation.setDuration(time);/設置一次循環的事件 time毫秒
"UI 線程":當一個程序啟動后,android系統會為這個應用程序創建一個主線程。這個線層非常重要,它負責渲染視圖,分發事件到響應監聽器并執行,對界面進行輪詢的監聽。因此,一般也叫作“UI”線程.
android系統不會給應用進程的多個元素組建多個線程來執行。一個視圖(activity)中的多個view組建運行在同一個UI線程中。因此,多個view組建的監聽器的執行可能會相互影響。
怎么解決阻塞問題?
在UI線程之外創建一個新的線程!!
post()方法可以解決在新建線程中不能修改組件的限制;
AsyncTask()是在post()基礎上的優化,可以方便閱讀,便于讀者理解。