MemoryBudgetInfo Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Speicherbudgetinformationen für eine Anwendung.
[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
- Vererbung
- Attribute
- Implementiert
Hinweise
Speicherbudgetinformationen für eine Anwendung. MemoryBudgetInfo-Einträge werden aus <Speicherbudgeteinträgen> im Manifest einer Anwendung abgerufen und können über PackageManager.getMemoryBudgets abgerufen werden.
Eine im Android-Manifest deklarierte MemoryBudgetInfo legt eine Obergrenze für den für das Paket verfügbaren Speicher oder auf einen Prozess innerhalb des Pakets fest. MemoryBudgetInfo-Deklarationen können auf Anwendungsebene und auf Prozessebene angezeigt werden. Die beiden sind unabhängig und außer Kraft gesetzt. In der Praxis dominiert jedoch das kleinere Budget.
Jedes MemoryBudgetInfo verfügt über einen Zustand und ein Feature; Diese beiden Attribute bestimmen, ob und wann die MemoryBudgetInfo anwendbar ist.
The state is the operational state of the process or the application, and is one of Foreground, Perceptible, or Background.
Die Funktion wählt für den Geräteformfaktor aus und ist einer der nicht angegebenen, TV-, Auto- und Watch-Elemente.
Ein MemoryBudgetInfo-Element gilt für einen Prozess, wenn das Feature nicht angegeben ist oder ob das Feature dem Formfaktor des Geräts entspricht. Ein MemoryBudgetInfo gilt für einen Prozess, wenn er für den Prozess gilt und der MemoryBudgetInfo-Zustand kleiner oder gleich dem Betriebszustand des Prozesses ist. Anwendungen verfügen auch über einen Zustand, der ungefähr der niedrigste Status eines Prozesses ist, der in der Anwendung ausgeführt wird.
Eine MemoryBudgetInfo deklariert eine obere Grenze für die Arbeitsspeichermenge, die der Prozess oder die Anwendung verwenden kann. Die obere Grenze wird aus drei Faktoren berechnet:
maxMb ist eine Geplante Speichermenge, ausgedrückt in MiB. Dies muss positiv sein.
additionalBytesPerPixel ist ein Skalierungsfaktor: Bytes pro Anzeigepixel. Dies muss nicht negativ sein und standardmäßig null sein.
additionalMbPerDensity ist ein Skalierungsfaktor: MiB-Zeitanzeigedichte. Dies muss nicht negativ sein und standardmäßig null sein.
Der tatsächliche Grenzwert wird als maxMb-Wert und die Skalierungsfaktoren berechnet, die auf die Standardanzeige des Geräts angewendet werden.
Wenn ein Prozess-RSS sein deklariertes Budget überschreitet, erzwingt der Kernel das Ablegen des Arbeitsspeichers. Dies bedeutet in der Regel das Ablegen von Dateicacheseiten, aber es kann auch bedeuten, dass ein Teil des Speichers verschoben wird, um zu tauschen. In den meisten Fällen geschieht dies ohne Auswirkungen auf den Prozess, aber wenn der Prozess aktiv mehr Arbeitsspeicher als das Budgetlimit verwendet, verlangsamt sich der Prozess, wenn Seiten ausgetauscht und dann wieder eingetauscht werden. In der Grenze kann der Prozess ANR.
Android-Referenz für android.content.pm.MemoryBudgetInfo.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Felder
| Name | Beschreibung |
|---|---|
| FeatureAutomotive |
Veraltet.
Gibt an, dass dies |
| FeatureLeanback |
Veraltet.
Gibt an, dass dies |
| FeatureUnspecified |
Veraltet.
Gibt an, dass dies |
| FeatureWatch |
Veraltet.
Gibt an, dass dies |
| StateBackground |
Veraltet.
Gibt an, dass dies |
| StateForeground |
Veraltet.
Gibt an, dass dies |
| StatePerceptible |
Veraltet.
Gibt an, dass dies |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AdditionalBytesPerDisplayPixel |
Gibt die zusätzlichen Bytes pro Pixel zurück, von denen dieser |
| AdditionalMbPerDensity |
Gibt den zusätzlichen Speicher (in MiB) zurück, von dem dieser |
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Creator |
Ein Ersteller, der Instanzen von "android.content.pm.MemoryBudgetInfo" aus einem Paket generiert. |
| Feature |
Gibt den Formfaktor zurück, auf den dies |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| JniPeerMembers |
Ruft die JNI-Metadaten ab, die für den Zugriff auf Member dieser Java Bindung verwendet werden. |
| MaxMb |
Gibt den Speichergrenzwert (in MiB) zurück, den dies |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| State |
Gibt den Prozessstatus zurück, in dem dies |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| DescribeContents() |
Beschreiben Sie die Arten spezieller Objekte, die in der Marshall-Darstellung dieser Paketable-Instanz enthalten sind. |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| Equals(Object) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| JavaFinalize() |
Veraltet.
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
Flachen Sie dieses Objekt in ein Paket. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Speicherbudgetinformationen für eine Anwendung. (Geerbt von JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Entfernt diese Instanz aus der Java Objektsuche der Laufzeit. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Speicherbudgetinformationen für eine Anwendung. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |