TransactionTooLargeException Clase

Definición

Error en la transacción binder porque era demasiado grande.

[Android.Runtime.Register("android/os/TransactionTooLargeException", DoNotGenerateAcw=true)]
public class TransactionTooLargeException : Android.OS.RemoteException
[<Android.Runtime.Register("android/os/TransactionTooLargeException", DoNotGenerateAcw=true)>]
type TransactionTooLargeException = class
    inherit RemoteException
Herencia
Atributos

Comentarios

Error en la transacción binder porque era demasiado grande.

Durante una llamada a procedimiento remoto, los argumentos y el valor devuelto de la llamada se transfieren como Parcel objetos almacenados en el búfer de transacciones de Binder. Si los argumentos o el valor devuelto son demasiado grandes para caber en el búfer de transacciones, se producirá un error en la llamada. TransactionTooLargeException se produce como heurística cuando una transacción es grande y se produce un error, ya que son las transacciones que es más probable que superllenen el búfer de transacciones.

El búfer de transacciones de Binder tiene un tamaño fijo limitado, actualmente de 1 MB, compartido por todas las transacciones en curso para el proceso. Por lo tanto, esta excepción se puede producir cuando hay muchas transacciones en curso incluso cuando la mayoría de las transacciones individuales tienen un tamaño moderado.

Hay dos resultados posibles cuando una llamada a procedimiento remoto produce TransactionTooLargeException. El cliente no pudo enviar su solicitud al servicio (probablemente si los argumentos eran demasiado grandes para caber en el búfer de transacciones) o el servicio no pudo devolver su respuesta al cliente (lo más probable es que el valor devuelto fuera demasiado grande para caber en el búfer de transacciones). No es posible saber cuáles de estos resultados se produjeron realmente. El cliente debe suponer que se produjo un error parcial.

La clave para evitar TransactionTooLargeException es mantener todas las transacciones relativamente pequeñas. Intente minimizar la cantidad de memoria necesaria para crear un Parcel para los argumentos y el valor devuelto de la llamada a procedimiento remoto. Evite transferir grandes matrices de cadenas o mapas de bits grandes. Si es posible, intente dividir las grandes solicitudes en partes más pequeñas.

Si va a implementar un servicio, puede ayudar a imponer restricciones de tamaño o complejidad en las consultas que los clientes pueden realizar. Por ejemplo, si el conjunto de resultados podría ser grande, no permita que el cliente solicite más de unos pocos registros a la vez. Como alternativa, en lugar de devolver todos los datos disponibles a la vez, devuelva primero la información esencial y haga que el cliente solicite información adicional más adelante según sea necesario.

Java documentación para android.os.TransactionTooLargeException.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
TransactionTooLargeException()

Inicializa una nueva instancia de la clase TransactionTooLargeException.

TransactionTooLargeException(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

TransactionTooLargeException(String)

Inicializa una nueva instancia de la clase TransactionTooLargeException.

Campos

Nombre Description
is_generated

Indica si el enlace generó este elemento throwable.

(Heredado de Throwable)

Propiedades

Nombre Description
Cause

Devuelve la causa de este lanzamiento o null si la causa es inexistente o desconocida.

(Heredado de Throwable)
Class

Obtiene la clase en tiempo de ejecución de este elemento throwable.

(Heredado de Throwable)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Throwable)
JavaStackTrace

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Throwable)
JniManagedPeerState

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
JniPeerMembers

Proporciona metadatos de miembro del mismo nivel de JNI para este tipo.

LocalizedMessage

Crea una descripción localizada de este elemento throwable.

(Heredado de Throwable)
Message

Devuelve la cadena de mensaje de detalle de este elemento throwable.

(Heredado de Throwable)
PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Throwable)
StackTrace

Obtiene una representación de cadena del seguimiento de la pila para este elemento throwable.

(Heredado de Throwable)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

Nombre Description
AddSuppressed(Throwable)

Anexa la excepción especificada a las excepciones que se han suprimido para entregar esta excepción.

(Heredado de Throwable)
Construct(JniObjectReference, JniObjectReferenceOptions)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Throwable)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Throwable)
DisposeUnlessReferenced()

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
Equals(Object)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
FillInStackTrace()

Rellena el seguimiento de la pila de ejecución.

(Heredado de Throwable)
GetHashCode()

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
GetStackTrace()

Proporciona acceso mediante programación a la información de seguimiento de la pila impresa por #printStackTrace().

(Heredado de Throwable)
GetSuppressed()

Devuelve una matriz que contiene todas las excepciones que se han suprimido, normalmente mediante la tryinstrucción -with-resources, para entregar esta excepción.

(Heredado de Throwable)
InitCause(Throwable)

Inicializa la causa de este lanzamiento en el valor especificado.

(Heredado de Throwable)
PrintStackTrace()

Imprime este valor throwable y su retroceso en el flujo de error estándar.

(Heredado de Throwable)
PrintStackTrace(PrintStream)

Imprime este elemento throwable y su retroceso en la secuencia de impresión especificada.

(Heredado de Throwable)
PrintStackTrace(PrintWriter)

Imprime este elemento throwable y su retroceso en el escritor de impresión especificado.

(Heredado de Throwable)
RethrowAsRuntimeException()

Vuelva a iniciarlo como una excepción en tiempo de ejecución no desactivada.

(Heredado de RemoteException)
RethrowFromSystemServer()

Vuelva a iniciar esta excepción cuando sepamos que procede del servidor del sistema.

(Heredado de RemoteException)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Throwable)
SetJavaStackTrace(JniObjectReference)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
SetStackTrace(StackTraceElement[])

Establece los elementos de seguimiento de pila que devolverán #getStackTrace() y imprimirán #printStackTrace() los métodos relacionados y .

(Heredado de Throwable)
ToString()

Convierte este valor en una cadena.

(Heredado de Throwable)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Throwable)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
IJavaPeerable.Finalized()

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

Error en la transacción binder porque era demasiado grande.

(Heredado de JavaException)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Error en la transacción binder porque era demasiado grande.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a