是否有任何可能的方法将大量数据传递到与主 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 时被拒绝
wordpress - 寻求有关转义(斜杠)在 wpdb 中的工作原理和最佳实践的说明
php - 无法使用多语言 codeigniter 摆脱 URL 中的默认 Controller
scikit-learn - 在传递到 'roc_curve' 之前如何处理从 'auc' 返回的
objective-c - 当模拟器从 XCode 关闭时,是否有运行的方法?
ruby-on-rails - 如何在 Fabrication 的计数参数中使用 transient