| java.lang.Object | |||||
| ↳ | java.lang.Throwable | ||||
| ↳ | java.lang.Exception | ||||
| ↳ | android.util.AndroidException | ||||
| ↳ | android.os.RemoteException | ||||
| ↳ | android.os.TransactionTooLargeException | ||||
The Binder transaction failed because it was too large.
       During a remote procedure call, the arguments and the return value of the call
 are transferred as
       
        
         Parcel
        
       
       objects stored in the Binder transaction buffer.
 If the arguments or the return value are too large to fit in the transaction buffer,
 then the call will fail and
       
        
         TransactionTooLargeException
        
       
       will be thrown.
      
The Binder transaction buffer has a limited fixed size, currently 1Mb, which is shared by all transactions in progress for the process. Consequently this exception can be thrown when there are many transactions in progress even when most of the individual transactions are of moderate size.
       There are two possible outcomes when a remote procedure call throws
       
        
         TransactionTooLargeException
        
       
       .  Either the client was unable to send
 its request to the service (most likely if the arguments were too large to fit in
 the transaction buffer), or the service was unable to send its response back
 to the client (most likely if the return value was too large to fit
 in the transaction buffer).  It is not possible to tell which of these outcomes
 actually occurred.  The client should assume that a partial failure occurred.
      
       The key to avoiding
       
        
         TransactionTooLargeException
        
       
       is to keep all
 transactions relatively small.  Try to minimize the amount of memory needed to create
 a
       
        
         Parcel
        
       
       for the arguments and the return value of the remote procedure call.
 Avoid transferring huge arrays of strings or large bitmaps.
 If possible, try to break up big requests into smaller pieces.
      
If you are implementing a service, it may help to impose size or complexity contraints on the queries that clients can perform. For example, if the result set could become large, then don't allow the client to request more than a few records at a time. Alternately, instead of returning all of the available data all at once, return the essential information first and make the client ask for additional information later as needed.
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          | 
       ||||||||||
| 
         
          [Expand]
         
          
          Inherited Methods
          
         | 
       |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
         
           
         
         From class
         
          java.lang.Throwable
         
         
  | 
       |||||||||||||||||||||||||||||||||||||
         
           
         
         From class
         
          java.lang.Object
         
         
  | 
       |||||||||||||||||||||||||||||||||||||