2014-07-08 16 views

回答

3

由於其使用的Linux/Unix RPC調用(這就是爲什麼你可以使用AIDL來訪問其他進程),以及RPC調用不具備者除外,他們對C寫回70年代的想法。製作它們會很複雜。如何在例外情況下工作是INCREDIBLY討厭的。它基本上是longjmp調用。圍繞一個進程切換執行...這是可行的,但它需要與每個AIDL函數的返回類型混淆,以基本返回一個帶有標誌的非類型化參數,該標誌說明實際類型是什麼,以及解析該類型並重新拋出客戶端。而且它不適用於泛型異常,它只適用於在AIDL中定義的Exception類,它拋出了整個內置的Exception層次結構。這將使NDK庫不可能使用AIDL,因爲你幾乎必須通過他們的反序列化庫來使其工作。考慮到AIDL的極端稀缺性以及使用它的任何人可能知道如何在需要時返回錯誤值這一事實,所以獎勵太少的工作太多。

相關問題