TransactionTooLargeException Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
-
TransactionTooLargeException
- 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 |
| 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 |
| GetSuppressed() |
Retourne un tableau contenant toutes les exceptions qui ont été supprimées, généralement par l’instruction |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |