????Android???????????????????

?????????????Service??Activity???Broadcast???????????????????????????????UI??????????????Щ??????????????I/O??д????????д????????????????????????????????????????????棬????ANR????????????????????????????????Thread??????????

????Android?????Thread??????????Щ????

??????????1?J2ME?????????????Thread???????????????????дrun??????????start??????м??ɡ??????Runnable????У???????Android?????UI???????????????????????????????????Щ???????????????£????Google?????Android?????ο?????Win32?????????????

????postInvalidate()????

????????????е???????View????????棬???????postInvalidate()?????????????????????л??????Щ??д????????postInvalidate(int left??int top??int right??int bottom) ????????????????????????У?????postInvalidateDelayed(long delayMilliseconds)??postInvalidateDelayed(long delayMilliseconds??int left??int top??int right??int bottom) ?????????е????????????????£?

void

 

postInvalidate()

void

 

postInvalidate(int left?? int top?? int right?? int bottom)

void
 

postInvalidateDelayed(long delayMilliseconds)

void
 

postInvalidateDelayed(long delayMilliseconds?? int left?? int top?? int right?? int bottom)

????Handler

???????????????????????Handler????????Щ???????????????run?????е???handler?????postMessage??sendMessage??????????Android?????????????????????У????????????Щ?????????Win32????????????????Щ?????????????????Android????????PreTranslateMessage??Щ??????????????

???????????????handler????????????????????Message?????????handler?????obtainMessage()????????????????Looper?????????handler?????sendMessage()????????????Looper??Message????MessageQueue?С???Looper??????MessageQueue?к???Message??????????????handler???????????????????????handler?????handleMessage()??????????д????

????Handler?????????????????????????????????????????UI.

????????ó?????????Android??????????????? (???UI???) ?? ??????????????е?UI?????????????????????????????????? Button ??Android?????????Button???????????????? ??????????????????????????:???????????? ???????????????????????????????Щ??????????????У?????????????????е??????????????????????5??????????????????????Android?????????????? "?????". ?????????????????Щ???????????????????????У??????????漰??UI???£???Android???????????????????????????UI???????????и??£???????в?????Σ???.??????Handler???????????????????????? ????Handler?????????????(UI?????)?? ???????????????Message?????????????????????Handler?е??????????????????(???????sedMessage()????????)Message????(???????????) ??????Щ????????????????У???????????и???UI??

????Handler?Щ???handler??????Message?????Runnable??????????У????Handler?????????????????????????(?????λ???????)??

????????????????: (1)?????????Runnable?????????????????????

????(2)?????????????????????????

????Handler?з????????Щ????

????post(Runnable)

????postAtTime(Runnable??long)

????postDelayed(Runnable long)

????sendEmptyMessage(int)

????sendMessage(Message)

????sendMessageAtTime(Message??long)

????sendMessageDelayed(Message??long)

????????post?????????????????Runnable?????????????У?sendMessage????????????????????????Message?????????У????????.

????Handler???

????// ??????????Hendler??????дhandleMessage(Message msg) ????????????????????

????// ??????????????????????? :????????????Button??????

????public class MyHandlerActivity extends Activity {

????Button button;

????MyHandler myHandler;

????protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????setContentview(R.layout.handlertest);

????button = (Button) findViewById(R.id.button);

????myHandler = new MyHandler();