我看了一篇關於android活頁夾的文章。文章說,這些進程交換共享內存中的對象引用,並且它比編組和解組更高效......但事實上,IPC機制中是否存在編組和解組?我有點困惑...Android - 活頁夾
任何人都可以解釋活頁夾機制或鏈接到一篇詳細的文章?
我看了一篇關於android活頁夾的文章。文章說,這些進程交換共享內存中的對象引用,並且它比編組和解組更高效......但事實上,IPC機制中是否存在編組和解組?我有點困惑...Android - 活頁夾
任何人都可以解釋活頁夾機制或鏈接到一篇詳細的文章?
http://marakana.com/s/post/1340/Deep_Dive_Into_Binder_Presentation.htm
此鏈接提供了在活頁夾如何工作的架構非常有用的概述,並且還提供了示例代碼利用的各個方面與應用開發者(Intents,Messenger,AIDL)相關的Binder。
文章說,過程交換在 共享存儲器
活頁夾不使用共享存儲器(ashmem也不PMEM)的對象的引用。它使用帶有固定大小緩衝區的內核驅動程序。數據複製進入內核是一種安全的方式。也許這篇文章鬆散地使用了「共享內存」。
我覺得混淆了Binder協議和Android的「Binder」RPC機制。就原型而言,它只是將字節拷入和拷出。 Android平臺使用Binder內核驅動程序實現類OO的RPC機制。當然,這對於字節來說是「marshall」對象,並在另一側將它們解組回到對象。這是通過Parcel
類和Parcelable
接口的幫助完成的。