Langue

MemoryBudgetInfo Classe

Définition

Informations sur le budget mémoire d’une application.

[Android.Runtime.Register("android/content/pm/MemoryBudgetInfo", ApiSince=37, DoNotGenerateAcw=true)]
public sealed class MemoryBudgetInfo : Java.Lang.Object, Android.OS.IParcelable, IDisposable
[<Android.Runtime.Register("android/content/pm/MemoryBudgetInfo", ApiSince=37, DoNotGenerateAcw=true)>]
type MemoryBudgetInfo = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
MemoryBudgetInfo
Attributs
Implémente

Remarques

Informations sur le budget mémoire d’une application. Les entrées MemoryBudgetInfo sont récupérées à partir d’entrées <mémoire-budget> dans le manifeste d’une application et peuvent être obtenues via PackageManager.getMemoryBudgets.

Un MemoryBudgetInfo déclaré dans le manifeste Android définit un plafond sur la mémoire disponible pour le package ou pour un processus au sein du package. Les déclarations MemoryBudgetInfo peuvent apparaître au niveau de l’application et au niveau du processus. Les deux sont indépendants et ni l’autre n’est substitué. Toutefois, dans la pratique, le budget le plus petit domine.

Chaque MemoryBudgetInfo a un état et une fonctionnalité ; ces deux attributs déterminent si et quand MemoryBudgetInfo est applicable.

L’état est l’état opérationnel du processus ou de l’application, et est l’un des premier plan, perceptibles ou arrière-plan.

La fonctionnalité sélectionne le facteur de forme de l’appareil et est l’une des fonctionnalités Non spécifiées, TV, Auto et Watch.

Un MemoryBudgetInfo s’applique à un processus si sa fonctionnalité n’est pas spécifiée ou si sa fonctionnalité correspond au facteur de forme de l’appareil. Un MemoryBudgetInfo s’applique à un processus s’il s’applique au processus et que l’état MemoryBudgetInfo est inférieur ou égal à l’état opérationnel du processus. Les applications ont également un état, qui est à peu près l’état le plus bas de tout processus en cours d’exécution dans l’application.

Un MemoryBudgetInfo déclare une limite supérieure à la quantité de mémoire que le processus ou l’application peut utiliser. La limite supérieure est calculée à partir de trois facteurs :

maxMb est une quantité de mémoire de référence, exprimée en Mio. Cela doit être positif.

additionalBytesPerPixel est un facteur de mise à l’échelle : octets par pixel d’affichage. Il doit s’agir de valeurs non négatives et par défaut égales à zéro.

additionalMbPerDensity est un facteur de mise à l’échelle : densité d’affichage miB. Il doit s’agir de valeurs non négatives et par défaut égales à zéro.

La limite réelle est calculée en tant que valeur maxMb plus les facteurs d’échelle appliqués à l’affichage par défaut de l’appareil.

Si un flux RSS de processus dépasse son budget déclaré, le noyau le force à supprimer la mémoire. Cela signifie généralement la suppression de pages de cache de fichiers, mais cela peut également signifier que certaines mémoires seront déplacées pour échanger. Dans la plupart des cas, cela se produit sans impact sur le processus, mais si le processus utilise activement plus de mémoire que la limite budgétaire, le processus ralentit à mesure que les pages sont échangées, puis de retour en arrière. Dans la limite, le processus peut être ANR.

Référence Android pour android.content.pm.MemoryBudgetInfo.

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.

Champs

Nom Description
FeatureAutomotive
Obsolète.

Indique que cela MemoryBudgetInfo s’applique au facteur de forme automobile.

FeatureLeanback
Obsolète.

Indique que cela MemoryBudgetInfo s’applique au facteur de forme TV.

FeatureUnspecified
Obsolète.

Indique qu’il s’agit MemoryBudgetInfo d’un facteur générique et peut s’appliquer à n’importe quel facteur de forme.

FeatureWatch
Obsolète.

Indique que cela MemoryBudgetInfo s’applique au facteur de forme espion.

StateBackground
Obsolète.

Indique que cela MemoryBudgetInfo peut s’appliquer à un processus qui se trouve en arrière-plan.

StateForeground
Obsolète.

Indique que cela MemoryBudgetInfo peut s’appliquer à un processus au premier plan (ou dans un état moins important).

StatePerceptible
Obsolète.

Indique que cela MemoryBudgetInfo peut s’appliquer à un processus qui est perceptible (ou dans un état moins important).

Propriétés

Nom Description
AdditionalBytesPerDisplayPixel

Retourne les octets supplémentaires par pixel que cette MemoryBudgetInfolimite sera levée.

AdditionalMbPerDensity

Retourne la mémoire supplémentaire (en Mio) par laquelle cette MemoryBudgetInfolimite sera levée, en fonction de la densité de l’écran de l’appareil.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Creator

Créateur qui génère des instances d’android.content.pm.MemoryBudgetInfo à partir d’un colis.

Feature

Retourne le facteur de forme auquel cela MemoryBudgetInfo s’applique.

Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

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

(Hérité de Object)
JniManagedPeerState

Informations sur le budget mémoire d’une application.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour accéder aux membres de cette liaison Java.

MaxMb

Retourne la limite de mémoire (en Mio) que cela MemoryBudgetInfo représente.

PeerReference

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

(Hérité de Object)
State

Retourne l’état de processus dans lequel cela MemoryBudgetInfo s’applique.

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.

(Hérité de Object)
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.

(Hérité de Object)

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

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

Informations sur le budget mémoire d’une application.

(Hérité de JavaObject)
DescribeContents()

Décrivez les types d’objets spéciaux contenus dans la représentation marshalée de cette instance Parcelable.

Dispose()

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

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

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

(Hérité de Object)
DisposeUnlessReferenced()

Informations sur le budget mémoire d’une application.

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

Informations sur le budget mémoire d’une application.

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

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

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

(Hérité de Object)
JavaFinalize()
Obsolète.

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

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

Définit la propriété Handle.

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

Informations sur le budget mémoire d’une application.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

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

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Aplatir cet objet dans un colis.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Informations sur le budget mémoire d’une application.

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

Informations sur le budget mémoire d’une application.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Informations sur le budget mémoire d’une application.

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

Informations sur le budget mémoire d’une application.

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

Informations sur le budget mémoire d’une application.

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

Informations sur le budget mémoire d’une application.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Supprime cette instance de la recherche d'objets Java du runtime.

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)

Informations sur le budget mémoire d’une application.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

S’applique à