Language

MemoryBudgetInfo クラス

定義

アプリケーションのメモリ予算情報。

[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
継承
MemoryBudgetInfo
属性
実装

注釈

アプリケーションのメモリ予算情報。 MemoryBudgetInfo エントリは、アプリケーションのマニフェスト <memory-budget> エントリから取得され、PackageManager.getMemoryBudgets を使用して取得できます。

Android マニフェストで宣言されている MemoryBudgetInfo は、パッケージまたはパッケージ内のプロセスで使用できるメモリの上限を設定します。 MemoryBudgetInfo 宣言は、アプリケーション レベルとプロセス レベルで表示される場合があります。 2 つの値は独立しており、どちらも他方をオーバーライドしません。 しかし、実際には、予算が小さい方が優勢です。

すべての MemoryBudgetInfo には状態と機能があります。これら 2 つの属性によって、MemoryBudgetInfo が適用されるかどうかとタイミングが決まります。

状態はプロセスまたはアプリケーションの操作状態であり、Foreground、Perceptible、または Background のいずれかです。

この機能は、デバイスのフォーム ファクターを選択し、未指定、テレビ、自動、ウォッチのいずれかです。

MemoryBudgetInfo は、機能が指定されていない場合、またはその機能がデバイスのフォーム ファクターと一致する場合に、プロセスに適用されます。 MemoryBudgetInfo がプロセスに適用され、MemoryBudgetInfo 状態がプロセスの操作状態以下の場合、プロセスに適用されます。 アプリケーションには状態もあります。これは、アプリケーションで実行されているプロセスのほぼ最小の状態です。

MemoryBudgetInfo は、プロセスまたはアプリケーションが使用するメモリ量の上限を宣言します。 上限は、次の 3 つの要因から計算されます。

maxMb は、MiB で表されるメモリのベースライン量です。 これは肯定的である必要があります。

additionalBytesPerPixel はスケーリング係数です。表示ピクセルあたりのバイト数です。 これは負以外の値で、既定値は 0 にする必要があります。

additionalMbPerDensity はスケール ファクターです。MiB 時間の表示密度です。 これは負以外の値で、既定値は 0 にする必要があります。

実際の制限は、maxMb 値と、デバイスの既定の表示に適用されるスケール ファクターとして計算されます。

プロセス RSS が宣言された予算を超えると、カーネルによって強制的にメモリが削除されます。 これは通常、ファイル キャッシュ ページを削除することを意味しますが、一部のメモリがスワップに移動される可能性もあります。 ほとんどの場合、これはプロセスに影響を与えずに発生しますが、プロセスが予算の制限よりも多くのメモリを積極的に使用している場合、ページがスワップアウトされてから戻ってくると、プロセスの速度が低下します。 この制限では、プロセスは ANR である可能性があります。

android.content.pm.MemoryBudgetInfoの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

フィールド

Name 説明
FeatureAutomotive
古い.

この MemoryBudgetInfo が自動車フォーム ファクターに適用されることを示します。

FeatureLeanback
古い.

この MemoryBudgetInfo がテレビのフォーム ファクターに適用されることを示します。

FeatureUnspecified
古い.

この MemoryBudgetInfo がジェネリックであり、任意のフォーム ファクターに適用できることを示します。

FeatureWatch
古い.

この MemoryBudgetInfo がウォッチ フォーム ファクターに適用されることを示します。

StateBackground
古い.

この MemoryBudgetInfo をバックグラウンドのプロセスに適用できることを示します。

StateForeground
古い.

この MemoryBudgetInfo がフォアグラウンド (または重要度の低い状態) のプロセスに適用できることを示します。

StatePerceptible
古い.

この MemoryBudgetInfo が、認識可能なプロセス (または重要度の低い状態) に適用できることを示します。

プロパティ

Name 説明
AdditionalBytesPerDisplayPixel

この MemoryBudgetInfoの制限が引き上げられるピクセルあたりの追加バイト数を返します。

AdditionalMbPerDensity

デバイスの画面密度に基づいて、この MemoryBudgetInfoの制限が引き上げられる追加メモリ (MiB) を返します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Creator

アプリケーションのメモリ予算情報。

Feature

この MemoryBudgetInfo が適用されるフォーム ファクターを返します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
JniPeerMembers

アプリケーションのメモリ予算情報。

MaxMb

この MemoryBudgetInfo が表すメモリ制限 (MiB 単位) を返します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
State

この MemoryBudgetInfo が適用されるプロセスの状態を返します。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)

メソッド

Name 説明
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
DescribeContents()

この Parcelable インスタンスのマーシャリングされた表現に含まれる特殊なオブジェクトの種類について説明します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
Equals(Object)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

このオブジェクトをパーセルにフラット化します。

明示的なインターフェイスの実装

Name 説明
IJavaPeerable.Disposed()

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.Finalized()

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

アプリケーションのメモリ予算情報。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

アプリケーションのメモリ予算情報。

拡張メソッド

Name 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

アプリケーションのメモリ予算情報。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象