public class mainactivity extends activity
});} handler handle = new handler()
}; runnable run = new runnable() catch (interruptedexception e)
if(i>100)
else
} };
}
handler在android裡負責傳送和處理訊息。它的主要用途有:
1)按計畫傳送訊息或執行某個runnanble(使用post方法);
2)從其他執行緒中傳送來的訊息放入訊息佇列中,避免執行緒衝突(常見於更新ui執行緒)
預設情況下,handler接受的是當前執行緒下的訊息迴圈例項(使用
handler
( looper looper)、
handler
( looper looper,
handler.callback callback)可以指定執行緒),同時乙個訊息佇列可以被當前執行緒中的多個物件進行分發、處理(在ui執行緒中,系統已經有乙個activity來處理了,你可以再起若干個handler來處理)。在例項化handler的時候,looper可以是任意執行緒的,只要有handler的指標,任何執行緒也都可以sendmessage。handler對於message的處理不是併發的。乙個looper 只有處理完一條message才會讀取下一條,所以訊息的處理是阻塞形式的(handlemessage()方法裡不應該有耗時操作,可以將耗時操作放在其他執行緒執行,操作完後傳送message(通過sendmessges方法),然後由handlemessage()更新ui)。
學習學習再學習
如果乙個技能足夠複雜 比如從零學程式設計 那就不要指望讀完一本書就可以打天下。多買幾本書同類的書 因為每個作者的出發點是不一樣的,哪怕對同乙個概念都有不同的解釋說明。理解知識的重要過程之一就如牛的反芻一樣,要嚼一遍 嚥下去 再吐出來 再嚼一遍 再嚥下去 所以,既然一本書可以讀幾遍,那麼同一話題多應該...
學習 學習 再學習
原本要使用vs2005開發乙個b s專案的,沒有想到只能先暫時停停了,居然跟不上技術的發展了,呵呵,一直使用delphi delphi也沒能跟上 沒有想到轉到vs2005上竟然有這麼多要學的東西,當然目的是了做乙個好的系統。最近一直在學習asp.net ajax,雖然專案停了,但是我覺得值得,有很多...
只是學習 學習 再學習
通過做 讓我學會了很多東西 什麼 flash div css html js as 雖然都只是皮毛 不過 算是了解那麼一點點吧 哈哈 我還突然發現 我的 數學和英語 進步了不少 而且還都是很實用的 比在學校的進步可快多了 那句話說的很不錯 在你了解了一些皮毛之後你會發現很多東西你都必須去學。因為少一...