Android學習日記

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()基礎上的優化,可以方便閱讀,便于讀者理解。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容