說說一說binder的oneway機制
oneway binder 發(fā)送請求時 只有帶_data parclel嫁审, 沒有_reply parcel
oneway的aidl的接口定義是不能有返回值的
IPCThreadState里
waitForResponse(NULL,NULL): 帶ONEWAY
waitForResponse(reply):不帶ONEWAY
對于ONEWAY接口,所有調用在server端都被串行化(盡管不同應用發(fā)起請求是并行的)
server端的binder線程
onesay主要用于系統(tǒng)服務向應用端發(fā)起binder調用
scheduleLaunchingActivity: 系統(tǒng)服務向應用端發(fā)起oneway binder調用廊敌,讓應用端啟動acitvitiy
IWindow:WMS向應用端發(fā)起oneway binder調用
IServiceConnection: 應用端bindService完成時俊抵,AMS向應用端發(fā)起的oneway? binder調用
IIntentReceiver:AMS發(fā)起oneway binder調用 分發(fā)廣播
oneway binder 優(yōu)點
1埋哟,異步:應用端處理這些oneway binder調用臀叙,如果很耗時略水,也不會阻塞系統(tǒng)服務
2,串行化劝萤,系統(tǒng)會逐個分發(fā)binder 調用
說一說binder的oneway機制
????1. oneway是異步binder調用渊涝,client發(fā)起oneway binder調用后,無需掛起線程等待返回結果
2.? server端串行化處理
????3. oneway的實現(xiàn)機制是怎樣的床嫌?