【发布时间】:2026-01-31 19:00:02
【问题描述】:
我创建了一个 android 服务,它向应用程序公开一个接口以接受相机帧字节数组。该服务使用本机库来处理此相机帧并返回有关相机帧的一些数据。目标是能够实时处理相机预览帧。
问题 - 我的 AIDL 文件有一个名为 initFrame(in byte[] frame)的 API。每当我从应用程序(在单独的进程中运行)调用此 API 时,都会出现异常 - TransactionTooLargeException
这是因为字节数组的大小 > 1MB,并且绑定器事务缓冲区的大小固定为 1MB。即使大小限制更大,复制大缓冲区以进行实时处理也是非常低效的。
问题 - android 中有没有办法在两个 dalvik 进程之间共享内存来帮助解决问题?我查看了MemoryFile,但目前看来 MemoryFile 只能用于在使用隐藏 API 的进程之间共享内存。
【问题讨论】:
标签: android