gpt4 book ai didi

Android IPC最大事务大小?

转载 作者:太空狗 更新时间:2023-10-29 14:47:38 24 4
gpt4 key购买 nike

我正在制作使用 Binder 相互通信的小型 Android 应用程序。

据我所知,Android Binder 具有最大事务大小 (1MB)。例如,当应用程序尝试使用 Binder 事务发送大于 1MB 的消息时,将抛出 TransactionTooLargeException

我不明白为什么这是有限的。是否有任何理由限制最大交易规模? Linux SOCK_STREAM 也是 IPC,但没有限制。

这个限制有什么合理的理由吗? Android 文档似乎没有解释为什么他们将事务大小限制为 1MB。('The Binder transaction buffer has a limited fixed size' then why do they limit buffer?)。

如果框架不限制 IPC 大小,是否会出现严重情况?据我所知,即使没有最大 IPC 大小限制,Linux 也能运行良好。

最佳答案

限制是为了阻止使用 Binder 传输大量数据。特别是在旧设备上,这样做可能会影响其他应用程序,更重要的是,会影响系统本身的正常运行。许多系统组件,例如用户界面、服务等,都非常依赖于 Binder。

虽然其他形式的 IPC 可能是为传输大量数据而设计的,但 Binder 并非如此。相反,Android 提供了其他方法来实现这一点,例如通过 Binder 向数据发送功能(例如,文件描述符、URI)。

关于Android IPC最大事务大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com