我正在制作使用Binder相互通信的小型Android应用程序。Android IPC最大交易大小?
据我所知,Android活页夹的最大交易大小(1MB)。例如,当应用程序尝试使用Binder事务发送大于1MB的消息时,会引发TransactionTooLargeException
。
我不明白为什么这是有限的。是否有理由限制最大交易规模? Linux SOCK_STREAM
也是IPC,但它没有限制。
是否有任何合理的理由限制?看起来Android的文档没有解释为什么他们将事务大小限制在1MB('Binder事务缓冲区有一个固定大小的限制',那为什么它们限制缓冲区?)。
如果框架没有限制IPC尺寸,是否有任何关键的情况?据我所知,即使没有对最大IPC尺寸的限制,Linux也能很好地工作。
但为什么是1MB?是否有1MB限制的理论基础?或者这只是一个假设? – DeanStark