【发布时间】:2011-08-10 01:34:20
【问题描述】:
谁能告诉我Android中存在的所有IPC机制是什么。
据我所知:
- 意图
- 活页夹
【问题讨论】:
标签: android android-intent ipc android-bundle android-binder
谁能告诉我Android中存在的所有IPC机制是什么。
据我所知:
【问题讨论】:
标签: android android-intent ipc android-bundle android-binder
Android 中特定于树的进程间通信是:
【讨论】:
另一个对我有用的解决方案是使用内部文件:
https://developer.android.com/training/data-storage#filesInternal
从一个进程写入,关闭文件,从另一个进程读取。
【讨论】:
这篇文章中的所有答案都很好且简洁。但我想说明我们应该使用哪种IPC 机制。首先IPC 表示Inter Process communication,其中两个应用程序或进程将通过在它们之间传递一些数据来相互通信。由于android是为嵌入式和小型设备设计的,我们不应该使用serialization来代替IPC,而是可以使用BINDERs,内部使用parcels。 Parcel 是一种使用共享内存概念的轻量级序列化。
Binder IPC和Serialization IPC有很多区别:
1.序列化在嵌入式设备中使用非常繁重,通信会很慢。
2.Binders使用Parcels做IPC非常快。
3. Binder 在内部使用共享内存概念,在两个进程之间共享数据时使用更少的内存。
底线: Binders 使用更少的内存,而且速度非常快,因为它使用包裹。 Serialization 很重,发送和接收数据需要时间,而且比 binder 占用更多的内存。
注意:要在 Activity、服务和接收器之间传递数据,只能使用 Bundles。不要选择序列化或活页夹。 Binder 专门用于 2 个进程将进行通信的 Binder 服务。
希望对您有所帮助:)
【讨论】:
【讨论】:
universal mechanism 是通过...什么方式实现的? (期待内核系统调用、dalvik 中的 java 扩展等)
different types of android components 还是不同类型的安卓进程?
Android 中的 IPC 机制分为三种:
【讨论】:
正如Android Developers page 所写,Android 中的 IPC 机制包括:
【讨论】:
IPC 机制分为三种类型:
【讨论】: