???????????????????μ????????????(???UI???)??????MessageQueue?????MessageQueue??????????????(??activities??broadcast receivers??)??????????????塣?????????????????????????Handler???????????????????????????post??sendmessage?????????????????????????????????????????????????????Runnable??Message????Handler??MessageQueue?б?Scheduled??

????Message??飺

????Message????????????????????????а???????????????????????????????????????????Handler.Message???????????????int??????Object?????????????????????2???????????????

????????Message?????????public?????????Message?????÷????????Message.obtain()??????Handler.obtainMessage()????????Щ???????????????л???????

????MessageQueue??飺

???????????????message?б??????Looper????????Щmessage??Messages??????????????MessageQueue?У????????MessageQueue.IdleHandler??????Looper??

????????????Looper.myQueue()????????л??MessageQueue??

????Looper??飺

????Looper????????????????е?message?????????????????????????????????????????е???prepare()???????Looper???????loop()??????messages?????????????

???????????message loop??????????Handler??

?????????????????????Looper?????????

????class LooperThread extends Thread {

????public Handler mHandler;

????public void run() {

????Looper.prepare();

????mHandler = new Handler() {

 ????public voidhandleMessage(Message msg) {

????// process incomingmessages here

????}

????};

????Looper.loop();

????}

????}

????48. AIDL????????????ι???????????Щ??????????AIDL??????????Android Interface Define Language

??????A??????????B?????е?service??????????????????????????AIDL????????

????A?????

??????????????net.blogjava.mobile.aidlservice???д??????RemoteService.aidl??????????????????????????????з???get??ADT???????gen??????????????RemoteService.java??????????к?????????RemoteService.stub???????????????к???aidl???????get??????

??????????aidl?????λ?ò??????????????

??????????????MyService????MyService?????????????????????RemoteService.stub???????????get????????onBind?????з???????????????????????????????????IBinder???????????????????

????????????AndroidManifest.xml?????????MyService?????????£?

???????????????AIDL?????ID????????????MyService??????????????????????????????????ID?????????????ID??B??????????A???????????

?????????AIDL??????????

????B?????

???????????????A???????????RemoteService.java?????????B?????У???bindService?????а?aidl????

??????AIDL???????RemoteService??ID???intent??action??????

?????????????????????RemoteService.aidl????????????????????????gen???μ?e???????B?????С?????????RemoteService.aidl????????????????????????????????B???????????????????????RmoteService.java???????????????????????RemoteService.java???

????bindService(newInten("net.blogjava.mobile.aidlservice.RemoteService")??serviceConnection?? Context.BIND_AUTO_CREATE);

????ServiceConnection??onServiceConnected(ComponentName name?? IBinderservice)?????е?service??????A??????MyService???м????RemoteService.stub????????????

????49. ???????Android???????????????????????????????????Dalvik( android???)

????????? linux ??????

????50. ????????????????????????????????????????????????ɡ??????????Uri???????????????????manifest???intentfilter???data????