Langue

IComponentCallbacks2 Interface

Définition

Rappels pour les transitions d’état d’application qui peuvent être utilisées pour améliorer la gestion de la mémoire en arrière-plan.

[Android.Runtime.Register("android/content/ComponentCallbacks2", "", "Android.Content.IComponentCallbacks2Invoker")]
public interface IComponentCallbacks2 : Android.Content.IComponentCallbacks, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/ComponentCallbacks2", "", "Android.Content.IComponentCallbacks2Invoker")>]
type IComponentCallbacks2 = interface
    interface IComponentCallbacks
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Dérivé
Attributs
Implémente

Remarques

Rappels pour les transitions d’état d’application qui peuvent être utilisées pour améliorer la gestion de la mémoire en arrière-plan. Cette interface est disponible dans tous les composants d’application (android.app.Activity, android.app.Service, ContentProvideret android.app.Application).

Vous devez implémenter #onTrimMemory pour libérer de la mémoire lorsque votre application passe à des états d’arrière-plan. Cela permet au système de conserver le processus de votre application mis en cache dans la mémoire pendant plus longtemps, de sorte que la prochaine fois que l’utilisateur amène votre application au premier plan, l’application effectue un démarrage chaud ou chaud, en reprenant plus rapidement et en conservant l’état.

<h2>Découper les niveaux de mémoire et comment les< gérer/h2>

<ul><li>#TRIM_MEMORY_UI_HIDDEN<br> l’interface utilisateur de votre application n’est plus visible. Il est judicieux de libérer des allocations de mémoire volumineuses qui sont utilisées uniquement par votre interface utilisateur, par android.graphics.Bitmap Bitmapsexemple, ou des ressources liées à la lecture vidéo ou aux animations. < > Le processus de votre<>#TRIM_MEMORY_BACKGROUNDapplication est considéré comme étant en arrière-plan et est devenu éligible à la mort afin de libérer de la mémoire pour d’autres processus. La libération de davantage de mémoire prolongera le temps pendant lequel votre processus peut rester mis en cache en mémoire. Une stratégie efficace consiste à libérer des ressources qui peuvent être réinscrites lorsque l’utilisateur revient à votre application. </ul>

Les applications qui continuent à fonctionner pour l’utilisateur lorsqu’elles ne sont pas visibles peuvent répondre au #TRIM_MEMORY_UI_HIDDEN rappel en modifiant leur comportement pour favoriser une utilisation inférieure de la mémoire. Par exemple, un lecteur de musique peut conserver l’art de l’album de taille complète pour toutes les pistes de la playlist en cours de lecture en tant que bitmaps mises en cache en mémoire. Lorsque l’application est en arrière-plan, mais que la lecture de la musique se poursuit, l’application peut modifier le comportement de mise en cache pour mettre en cache moins ou moins, bitmaps en mémoire.

Les valeurs ordinales pour les niveaux de réduction représentent une série d’événements de pression de la mémoire qui augmente, avec des valeurs incrémentées en conséquence. D’autres états peuvent être ajoutés à l’avenir. Par conséquent, il est important de ne pas vérifier des valeurs spécifiques, mais plutôt de vérifier si le niveau passé #onTrimMemory est supérieur ou égal aux niveaux gérés par votre application. Par exemple:

{@code
            public void onTrimMemory(int level) {
                if (level >= TRIM_MEMORY_BACKGROUND) {
                    // Release any resources that can be rebuilt
                    // quickly when the app returns to the foreground
                    releaseResources();
                } else if (level >= TRIM_MEMORY_UI_HIDDEN) {
                    // Release UI-related resources
                    releaseUiResources();
                }
            }
            }

< >strong Remarque :</strong> the runtime peut appeler Garbage Collection (GC) en réponse aux modifications d’état de l’application. Il n’est pas nécessaire d’appeler explicitement GC à partir de votre application.

Java documentation pour android.content.ComponentCallbacks2.

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.

Propriétés

Nom Description
Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Rappels pour les transitions d’état d’application qui peuvent être utilisées pour améliorer la gestion de la mémoire en arrière-plan.

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)

Méthodes

Nom Description
Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
OnConfigurationChanged(Configuration)

Appelé par le système lorsque la configuration de l’appareil change pendant l’exécution de votre composant.

(Hérité de IComponentCallbacks)
OnLowMemory()

Cela est appelé lorsque le système global est en cours d’exécution faible en mémoire et que les processus en cours d’exécution doivent réduire leur utilisation de la mémoire.

(Hérité de IComponentCallbacks)
OnTrimMemory(TrimMemory)

Appelé lorsque le système d’exploitation a déterminé qu’il est judicieux qu’un processus supprime la mémoire inutile de son processus.

SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

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

Rappels pour les transitions d’état d’application qui peuvent être utilisées pour améliorer la gestion de la mémoire en arrière-plan.

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

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

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)

Rappels pour les transitions d’état d’application qui peuvent être utilisées pour améliorer la gestion de la mémoire en arrière-plan.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

S’applique à