Android IPC方法总结
=================================================================================
Bundle是Android中提供的用于携带数据通信的类,优点是简单易用,但只能传输基本类型的数据和实现了Parcelable或Serializable接口的对象,及Android中一些特殊的对象。
通过使用Java中提供的File类也可以实现进程间的通信。优点是使用简单,但不能用于高并发的场景,不能用于即时通信。
AIDL(Android接口自定义语言)是Android提供的专门用于跨进程通信的方法。Android系统中app所在的进程在和系统进程通信时都会采用这种方法。但是AIDL使用起来较为复杂。但支持传输的数据类型较多。可以分为以下六类:
1)基本数据类型
2)String和CharSequence
3)ArrayList
4)HashMap
5)实现了Parcelable接口的对象
6)AIDL产生的对象
由于AIDL使用较为复杂,因此Android提供了Messenger。
Messenger是Android提供的一个用于跨进程通信的类,底层通过AIDL实现。使用起来不难也不简单,支持一对多串行实时通信。由于本质上还是发消息。因此不支持远程调用方法。不支持高并发场景。支持传输的数据类型和Bundle支持的相同。
1)工作原理:
Android高级架构师
由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记做整理一份资料。
需要的朋友可以**私信【学习】**我分享给你,希望里面的资料可以给你们一个更好的学习参考。
或者直接点击下面链接免费获取
- 330页PDF Android学习核心笔记(内含上面8大板块)
-
Android学习的系统对应视频
-
Android进阶的系统对应学习资料
- Android BAT部分大厂面试题(有解析)
好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。