首页 > 系统相关 >Android 共享内存(ashmem)持续更新

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

时间:2022-11-04 12:00:50浏览次数:39  
标签:MemoryFile memFile ashmem Android 共享内存 data SharedMemory


Android 共享内存(ashmem)

前言

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

官方介绍:

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

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

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

MemoryFile memFile=null

private 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 语音合成相关函数。

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


看了一通blog,没有明白 MemoryFile的使用

引用:
https://developer.android.com/reference/android/os/SharedMemory SharedMemory
https://www.jianshu.com/p/d9bc9c668ba6 Android匿名共享内存(Ashmem)原理


标签:MemoryFile,memFile,ashmem,Android,共享内存,data,SharedMemory
From: https://blog.51cto.com/u_15861646/5823447

相关文章

  • Android kotlin泛型知识点梳理
    前言学习知识需要提前设立目标,带着问题学习才能有的放矢。无论是java的泛型还是kotlin语言的泛型均是写框架,写通用工具类神器。如果不熟悉泛型语法,开发过程中将会遇到很多奇......
  • Android kotlin 类委托 by,by lazy关键
    前言接触kotlin语言也有几年时间了。日常开发工作中也推荐使用kotlin,但是对于一些kotlin语言语法的细节没有进行系统学习。碎片的知识点让工作中屡屡碰壁,前些天开始学习comp......
  • 【AGC】SDK未经用户同意获取AndroidID问题
     1.AGC-接入agc的sdk检测到未经用户同意获取AndroidId的问题。问题背景:开发者接入华为性能管理、崩溃服务、华为分析等SDK后上架小米应用商店被拒,称检测到未经用户同意获取......
  • Android实现页面跳转
    Android实现页面跳转​​MainActivity​​​绑定​​activity_main.xml​​​,​​Main2Activity​​​绑定​​activity_main2.xml​​​,则可以实现从​​activity_main.xml......
  • Android平台GB28181接入端如何对接UVC摄像头?
    我们在对接Android平台GB28181接入的时候,有公司提出这样的需求,除了采集执法记录仪摄像头自带的数据外,还想通过执法记录仪采集外接UVC摄像头。实际上,这块对我们来说有点炒冷......
  • Android实现Socket通信
    效果图  用Idea创建一个java工程importjava.io.*;importjava.net.*;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{......
  • Android10 dex2oat实践
    最近看到一篇博客:Android性能优化之Android10+dex2oat实践,对这个优化很感兴趣,打算研究研究能否接入到项目中。不过该博客只讲述了思路,没有给完整源码。本项目参考该博......
  • Android分区简述
    Android分区在Android目录下,总是能够看到system,data等文件夹,这里简单对Android分区的概念进行简单的整理。在PMS进行初始化的时候,在扫描阶段会去创建分区的子目录,例如:/......
  • [Android开发学iOS系列] Auto Layout
    [Android开发学iOS系列]AutoLayout内容:介绍什么是AutoLayout.基本使用方法在代码中写约束的方法AutoLayout的原理尺寸和优先级AutoLayout的使用细则重......
  • Androidstudio快速解决Gradlesdependencycachemaybecorrupt和Gradle配置gradle-3.*-al
    Error:Failedtoopenzipfile. Gradle'sdependencycachemaybecorrupt(thissometimesoccursafteranetworkconnectiontimeout.) Re-downloaddependencies......