最近研究Android6.0流媒体传输,用到了Android里面的内存共享(Ashmem匿名共享),研究了两天怎么用的,现在分享一下:
1、Java层使用内存共享:关键MemoryFile的类。
1.1 service 初始化
1.2 service 写数据
1.3 获取文件描述符传递给别的进程使用。
1.4 别的进程拿到文件描述符后读取数据:
2 Native 层内存共享,用到的关键类,MemoryDealer、IMemory、IMemoryHeap 三个类。
2.1 创建共享内存
2.2 Bp 端传输IMemory
2.3 客户端JNI 获取数据,或者上传给java层
2.4 java层的使用 和1.4 一样就不在描述了。