title: Android IPC maximum transaction size?
body: <p>I'm making small Android applications which communicate with each other using Binder.</p>
  
  <p>As I know, Android Binder has a maximum transaction size (1MB). For example, <code>TransactionTooLargeException</code> is thrown when applications try to send bigger than 1MB messages using Binder transaction.</p>
  
  <p>I cannot understand why this is limited. Is there any reason to limit the maximum transaction size? Linux <code>SOCK_STREAM</code> is also IPC, but it does not have a limit.</p>
  
  <p>Is there any reasonable reason for that limit? It seems Android documents do not explain why they limit transaction size to 1MB.('The Binder transaction buffer has a limited fixed size' then why do they limit buffer?).</p>
  
  <p>And are there any critical case if framework did not limit IPC size? As I know Linux works well even without a limit on maximum IPC size.</p>