Android - 将大量数据传递给在不同进程上运行的服务

是否有任何可能的方法将大量数据传递到与主 Activity 在不同进程上运行的 Android 服务? 要传递的数据是一个大约 5Mb 的字节数组。 如前所述,我无法将数据保存到文件中以进行传输,需要纯粹通过内存或任何其他不会持久保存到文件、数据库等的方式进行传输。

我试过通过 AIDL,但在 Android 中,AIDL 下的可分包数据似乎限制为 1Mb。此外,切片数据并通过 block 传输数据也不是一种选择。应该是 1 笔交易。 我也尝试过 Intents,但同样有 500Kb 到 1Mb 的限制。

所以我的想法用完了。

最佳答案

共享内存ashmem呢 http://www.androidenea.com/2010/03/share-memory-using-ashmem-and-binder-in.html

内存文件是一个 ashmem 包装器 http://developer.android.com/reference/android/os/MemoryFile.html

或者您可以尝试在您的服务中打开一个套接字或 ServerSocket 并从您的 Activity 连接到它

http://developer.android.com/reference/java/net/ServerSocket.html

https://stackoverflow.com/questions/17616811/

相关文章:

authentication - PuTTy 连接但 key 在使用 Plink 时被拒绝

git - 通过 ANT 克隆 GIT 存储库

wordpress - 寻求有关转义(斜杠)在 wpdb 中的工作原理和最佳实践的说明

java - Java 字节码中的平台独立性

php - 无法使用多语言 codeigniter 摆脱 URL 中的默认 Controller

scikit-learn - 在传递到 'roc_curve' 之前如何处理从 'auc' 返回的

objective-c - 当模拟器从 XCode 关闭时,是否有运行的方法?

ruby-on-rails - 如何在 Fabrication 的计数参数中使用 transient

ruby-on-rails - Rails - has_secure_password 密码和 PI

python - 用于 gtk 应用程序的交互式 python 控制台