3赞
161
当前位置:  开发笔记 > 编程语言 > 正文

Android共享内存(ashmem)持续更新

Android共享内存(ashmem)前言项目中接入讯飞语音合成,在sdk中看到MemoryFile,了解下用法发现,看

Android 共享内存(ashmem)


前言

项目中接入讯飞语音合成,在sdk中看到 MemoryFile,了解下用法发现,看到的只是冰山一角。


官方介绍:

SharedMemory enables the creation, mapping, and protection control
over anonymous shared memory.


SharedMemory 启用对匿名共享内存的创建,映射和保护控制。

简单用法:将data数组内容写入到sd卡上。

MemoryFile memFile=nullprivate void writeToFile(byte[] data) throws IOException {if (data == null || data.length == 0)return;try {if(memFile == null){Log.e("MscSpeechLog_","ffffffffff");String mFilepath = Environment.getExternalStorageDirectory()+"/1.pcm";memFile = new MemoryFile(mFilepath,1920000);memFile.allowPurging(false);}memFile.writeBytes(data, 0, (int)mTotalSize, data.length);mTotalSize += data.length;} finally {}
}

看到上面内容一脸蒙,内存共享解决的是跨进程高效数据交换问题,通过MemoryFile进行byte[]转文件操作,就这这?
至少应该有跨进程吧。

翻看sdk没看到Aidl,大概率so文件中。

用工具看下so中是否有相关方法如图:找到两个speech 语音合成相关函数。

在这里插入图片描述
看了一通blog,没有明白 MemoryFile的使用


引用:
https://developer.android.com/reference/android/os/SharedMemory SharedMemory
https://blog.csdn.net/WAN_EXE/article/details/56484664 共享内存(Shared Memory)介绍 Linux
https://www.jianshu.com/p/d9bc9c668ba6 Android匿名共享内存(Ashmem)原理
https://blog.csdn.net/goodlixueyong/article/details/53151959 Android匿名共享内存和MemoryFile



推荐阅读
author-avatar
云彩熨衣裳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有