Langue

TransactionTooLargeException Classe

Définition

La transaction Binder a échoué, car elle était trop volumineuse.

[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
Héritage
Attributs

Remarques

La transaction Binder a échoué, car elle était trop volumineuse.

Pendant un appel de procédure distante, les arguments et la valeur de retour de l’appel sont transférés en tant qu’objets Parcel stockés dans la mémoire tampon de transaction Binder. Si les arguments ou la valeur de retour sont trop volumineux pour s’adapter à la mémoire tampon de transaction, l’appel échoue. TransactionTooLargeException est levée en tant qu’heuristique lorsqu’une transaction est volumineuse et échoue, car il s’agit des transactions qui sont les plus susceptibles de remplir la mémoire tampon de transaction.

La mémoire tampon de transaction Binder a une taille fixe limitée, actuellement 1 Mo, qui est partagée par toutes les transactions en cours pour le processus. Par conséquent, cette exception peut être levée lorsqu’il existe de nombreuses transactions en cours même si la plupart des transactions individuelles sont de taille modérée.

Il existe deux résultats possibles lorsqu’un appel de procédure distante lève TransactionTooLargeException. Soit le client n’a pas pu envoyer sa demande au service (probablement si les arguments étaient trop volumineux pour s’adapter à la mémoire tampon de transaction) ou que le service n’a pas pu renvoyer sa réponse au client (probablement si la valeur de retour était trop grande pour s’adapter à la mémoire tampon de transaction). Il n’est pas possible de savoir quels sont ces résultats réellement survenus. Le client doit supposer qu’une défaillance partielle s’est produite.

La clé à éviter TransactionTooLargeException consiste à conserver toutes les transactions relativement petites. Essayez de réduire la quantité de mémoire nécessaire pour créer des Parcel arguments et la valeur de retour de l’appel de procédure distante. Évitez de transférer d’énormes tableaux de chaînes ou de grandes bitmaps. Si possible, essayez de diviser les grandes demandes en petits morceaux.

Si vous implémentez un service, cela peut aider à imposer des contraintes de taille ou de complexité aux requêtes que les clients peuvent effectuer. Par exemple, si le jeu de résultats peut devenir volumineux, n’autorisez pas le client à demander plus de quelques enregistrements à la fois. Sinon, au lieu de retourner toutes les données disponibles en même temps, retournez d’abord les informations essentielles et faites en sorte que le client demande des informations supplémentaires ultérieurement si nécessaire.

Java documentation pour android.os.TransactionTooLargeException.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
TransactionTooLargeException()

Initialise une nouvelle instance de la classe TransactionTooLargeException.

TransactionTooLargeException(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

TransactionTooLargeException(String)

Initialise une nouvelle instance de la classe TransactionTooLargeException.

Champs

Nom Description
is_generated

Indique si cette valeur levée a été générée par la liaison.

(Hérité de Throwable)

Propriétés

Nom Description
Cause

Retourne la cause de cette levée ou null si la cause est inexistante ou inconnue.

(Hérité de Throwable)
Class

Obtient la classe runtime de cette valeur levée.

(Hérité de Throwable)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Throwable)
JavaStackTrace

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Throwable)
JniManagedPeerState

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
JniPeerMembers

Fournit des métadonnées de membre homologue JNI pour ce type.

LocalizedMessage

Crée une description localisée de cette valeur levée.

(Hérité de Throwable)
Message

Retourne la chaîne de message de détail de cette valeur levée.

(Hérité de Throwable)
PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Throwable)
StackTrace

Obtient une représentation sous forme de chaîne de la trace de pile pour cette valeur levée.

(Hérité de Throwable)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
AddSuppressed(Throwable)

Ajoute l’exception spécifiée aux exceptions qui ont été supprimées pour remettre cette exception.

(Hérité de Throwable)
Construct(JniObjectReference, JniObjectReferenceOptions)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Throwable)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Throwable)
DisposeUnlessReferenced()

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
Equals(Object)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
FillInStackTrace()

Renseigne la trace de la pile d’exécution.

(Hérité de Throwable)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de JavaException)
GetStackTrace()

Fournit un accès programmatique aux informations de trace de la pile imprimées par #printStackTrace().

(Hérité de Throwable)
GetSuppressed()

Retourne un tableau contenant toutes les exceptions qui ont été supprimées, généralement par l’instruction try-with-resources, afin de remettre cette exception.

(Hérité de Throwable)
InitCause(Throwable)

Initialise la cause de cette levée à la valeur spécifiée.

(Hérité de Throwable)
PrintStackTrace()

Imprime cette valeur levée et son backtrace dans le flux d’erreur standard.

(Hérité de Throwable)
PrintStackTrace(PrintStream)

Imprime cette valeur levée et son backtrace dans le flux d’impression spécifié.

(Hérité de Throwable)
PrintStackTrace(PrintWriter)

Imprime cette valeur levée et son backtrace à l’enregistreur d’impression spécifié.

(Hérité de Throwable)
RethrowAsRuntimeException()

Réactivez cette exception en tant qu’exception d’exécution non vérifiée.

(Hérité de RemoteException)
RethrowFromSystemServer()

Relancez cette exception lorsque nous savons qu’elle provient du serveur système.

(Hérité de RemoteException)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Throwable)
SetJavaStackTrace(JniObjectReference)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
SetStackTrace(StackTraceElement[])

Définit les éléments de trace de pile qui seront retournés par #getStackTrace() et imprimés par et par #printStackTrace() des méthodes associées.

(Hérité de Throwable)
ToString()

Convertit cette valeur en chaîne.

(Hérité de Throwable)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Throwable)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
IJavaPeerable.Finalized()

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

La transaction Binder a échoué, car elle était trop volumineuse.

(Hérité de JavaException)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

La transaction Binder a échoué, car elle était trop volumineuse.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à