脚本宝典收集整理的这篇文章主要介绍了Android常用的IPC通信,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
管道是一种IPC通信方式,分为有名管道和无名管道,无论是有名管道还是无名管道其原理都是在内核开辟一块缓存空间,这段缓存空间的操作是通过文件读写方式进行的。
管道为分半双工和全双工:
有名管道与无名管道:
半双工:
全双工:
在Linux实现piPE:
public static void main(String[] args) { int fd[2]; char buffer[SIZE]; pipe(fd); pid_t pid = fork(); if (pid == 0) { close(fd[1]); read(fd(0), buffer, SIZE); } else if (pid > 0) { close(fd[0]); wrITe(fd[1], "Hello", 5); } }
Socket提供一套网络通信的接口。Socket网络IPC通信是全双工的,进程间不需要有关系。
在Android中amS与Zygote通信采用的socket通信。
共享内存是IPC通信性能最好的方式,进程间通信只需要一次拷贝,适合进程间大数据通信。
在Android中应用的Surface与SurfaceFlinger的IPC通信采用的共享内存方式实现的。
在Android中共享内存有一个工具类MemoryFile。
以上是脚本宝典为你收集整理的Android常用的IPC通信全部内容,希望文章能够帮你解决Android常用的IPC通信所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。