Added in [API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/os/TransactionTooLargeException#pubctors) \| [Inherited Methods](https://developer.android.com/reference/android/os/TransactionTooLargeException#inhmethods)

# TransactionTooLargeException

*** ** * ** ***

` public class TransactionTooLargeException `   
` ` ` ` ` ` ` ` ` extends https://developer.android.com/reference/android/os/RemoteException ` ` `

|---|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||||||
| ↳ | [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable) |||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception) ||||
|   |   | ↳ | [android.util.AndroidException](https://developer.android.com/reference/android/util/AndroidException) |||
|   |   |   | ↳ | [android.os.RemoteException](https://developer.android.com/reference/android/os/RemoteException) ||
|   |   |   |   | ↳ | android.os.TransactionTooLargeException |

<br />

*** ** * ** ***

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 `https://developer.android.com/reference/android/os/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. `https://developer.android.com/reference/android/os/TransactionTooLargeException` is thrown as a heuristic when a transaction is large, and it fails, since these are the transactions which are most likely to overfill the transaction buffer.

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 `https://developer.android.com/reference/android/os/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 `https://developer.android.com/reference/android/os/TransactionTooLargeException` is to keep all transactions relatively small. Try to minimize the amount of memory needed to create a `https://developer.android.com/reference/android/os/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 constraints 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.

<br />

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/os/TransactionTooLargeException#TransactionTooLargeException()() ` |
| ` https://developer.android.com/reference/android/os/TransactionTooLargeException#TransactionTooLargeException(java.lang.String)(https://developer.android.com/reference/java/lang/String msg) ` |

### Inherited methods

From class ` https://developer.android.com/reference/android/os/RemoteException ` ` https://developer.android.com/reference/java/lang/RuntimeException` ` https://developer.android.com/reference/android/os/RemoteException#rethrowAsRuntimeException()() `

Rethrow this as an unchecked runtime exception.
` https://developer.android.com/reference/java/lang/RuntimeException` ` https://developer.android.com/reference/android/os/RemoteException#rethrowFromSystemServer()() `

Rethrow this exception when we know it came from the system server.
From class ` https://developer.android.com/reference/java/lang/Throwable ` ` final void` ` https://developer.android.com/reference/java/lang/Throwable#addSuppressed(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable exception) `

Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
` https://developer.android.com/reference/java/lang/Throwable` ` https://developer.android.com/reference/java/lang/Throwable#fillInStackTrace()() `

Fills in the execution stack trace.
` https://developer.android.com/reference/java/lang/Throwable` ` https://developer.android.com/reference/java/lang/Throwable#getCause()() `

Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Throwable#getLocalizedMessage()() `

Creates a localized description of this throwable.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Throwable#getMessage()() `

Returns the detail message string of this throwable.
` https://developer.android.com/reference/java/lang/StackTraceElement` ` https://developer.android.com/reference/java/lang/Throwable#getStackTrace()() `

Provides programmatic access to the stack trace information printed by `https://developer.android.com/reference/java/lang/Throwable#printStackTrace()`.
` final https://developer.android.com/reference/java/lang/Throwable` ` https://developer.android.com/reference/java/lang/Throwable#getSuppressed()() `

Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
` https://developer.android.com/reference/java/lang/Throwable` ` https://developer.android.com/reference/java/lang/Throwable#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable cause) `

Initializes the *cause* of this throwable to the specified value.
` void` ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace()() `

Prints this throwable and its backtrace to the standard error stream.
` void` ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintWriter)(https://developer.android.com/reference/java/io/PrintWriter s) `

Prints this throwable and its backtrace to the specified print writer.
` void` ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintStream)(https://developer.android.com/reference/java/io/PrintStream s) `

Prints this throwable and its backtrace to the specified print stream.
` void` ` https://developer.android.com/reference/java/lang/Throwable#setStackTrace(java.lang.StackTraceElement[])(https://developer.android.com/reference/java/lang/StackTraceElement stackTrace) `

Sets the stack trace elements that will be returned by `https://developer.android.com/reference/java/lang/Throwable#getStackTrace()` and printed by `https://developer.android.com/reference/java/lang/Throwable#printStackTrace()` and related methods.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Throwable#toString()() `

Returns a short description of this throwable.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### TransactionTooLargeException

Added in [API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TransactionTooLargeException ()
```

<br />

<br />

### TransactionTooLargeException

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TransactionTooLargeException (String msg)
```

<br />

<br />

| Parameters ||
|---|---|
| `msg` | `String` <br /> |