Lenguaje

MemoryBudgetInfo Clase

Definición

Información de presupuesto de memoria para una aplicación.

[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
Herencia
MemoryBudgetInfo
Atributos
Implementaciones

Comentarios

Información de presupuesto de memoria para una aplicación. Las entradas MemoryBudgetInfo se recuperan de entradas de <presupuesto> de memoria en el manifiesto de una aplicación y se pueden obtener a través de PackageManager.getMemoryBudgets.

MemoryBudgetInfo que se declara en el manifiesto de Android establece un límite máximo en la memoria disponible para el paquete o en un proceso dentro del paquete. Las declaraciones MemoryBudgetInfo pueden aparecer en el nivel de aplicación y en el nivel de proceso. Los dos son independientes y ninguno invalida al otro. Sin embargo, en la práctica, el presupuesto más pequeño domina.

Cada MemoryBudgetInfo tiene un estado y una característica; estos dos atributos determinan si y cuándo se aplica MemoryBudgetInfo.

El estado es el estado operativo del proceso o la aplicación, y es uno de primer plano, Perceptible o Background.

La característica selecciona para el factor de forma del dispositivo y es una de las opciones Sin especificar, TV, Automático y Inspección.

MemoryBudgetInfo es aplicable a un proceso si su característica no está especificada o si su característica coincide con el factor de forma del dispositivo. MemoryBudgetInfo se aplica a un proceso si es aplicable al proceso y el estado MemoryBudgetInfo es menor o igual que el estado operativo del proceso. Las aplicaciones también tienen el estado , que es aproximadamente el estado más bajo de cualquier proceso que se ejecuta en la aplicación.

MemoryBudgetInfo declara un límite superior en la cantidad de memoria que puede usar el proceso o la aplicación. El límite superior se calcula a partir de tres factores:

maxMb es una cantidad de memoria de línea base, expresada en MiB. Esto debe ser positivo.

additionalBytesPerPixel es un factor de escalado: bytes por píxel de pantalla. Debe ser distinto de negativo y el valor predeterminado es cero.

additionalMbPerDensity es un factor de escalado: densidad de visualización de miB veces. Debe ser distinto de negativo y el valor predeterminado es cero.

El límite real se calcula como el valor maxMb más los factores de escala aplicados a la pantalla predeterminada del dispositivo.

Si un proceso RSS supera su presupuesto declarado, el kernel lo obligará a quitar la memoria. Esto normalmente significa quitar páginas de caché de archivos, pero también puede significar que se moverá alguna memoria al intercambio. En la mayoría de los casos, esto sucede sin ningún impacto en el proceso, pero si el proceso usa activamente más memoria que el límite de presupuesto, el proceso se ralentizará a medida que las páginas se intercambian y, a continuación, vuelven a entrar. En el límite, el proceso puede ser ANR.

Referencia de Android para android.content.pm.MemoryBudgetInfo.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Campos

Nombre Description
FeatureAutomotive
Obsoletos.

Indica que esto MemoryBudgetInfo se aplica al factor de forma automotriz.

FeatureLeanback
Obsoletos.

Indica que esto MemoryBudgetInfo se aplica al factor de forma de TV.

FeatureUnspecified
Obsoletos.

Indica que es MemoryBudgetInfo genérico y se puede aplicar a cualquier factor de forma.

FeatureWatch
Obsoletos.

Indica que esto MemoryBudgetInfo se aplica al factor de forma de inspección.

StateBackground
Obsoletos.

Indica que esto MemoryBudgetInfo se puede aplicar a un proceso que está en segundo plano.

StateForeground
Obsoletos.

Indica que esto MemoryBudgetInfo se puede aplicar a un proceso que se encuentra en primer plano (o en un estado menos importante).

StatePerceptible
Obsoletos.

Indica que esto MemoryBudgetInfo puede aplicarse a un proceso que sea perceptible (o en un estado menos importante).

Propiedades

Nombre Description
AdditionalBytesPerDisplayPixel

Devuelve los bytes adicionales por píxel en los que se elevará este MemoryBudgetInfolímite.

AdditionalMbPerDensity

Devuelve la memoria adicional (en MiB) por la que se elevará este MemoryBudgetInfolímite, en función de la densidad de pantalla del dispositivo.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Creator

Información de presupuesto de memoria para una aplicación.

Feature

Devuelve el factor de forma al que se aplica.MemoryBudgetInfo

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
JniPeerMembers

Información de presupuesto de memoria para una aplicación.

MaxMb

Devuelve el límite de memoria (en MiB) que MemoryBudgetInfo representa.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
State

Devuelve el estado del proceso en el que se aplica.MemoryBudgetInfo

ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
DescribeContents()

Describir los tipos de objetos especiales contenidos en la representación serializado de esta instancia de Parcelable.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
Equals(Object)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Aplane este objeto en un paquete.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Información de presupuesto de memoria para una aplicación.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Información de presupuesto de memoria para una aplicación.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Información de presupuesto de memoria para una aplicación.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a