MemoryBudgetInfo クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリケーションのメモリ予算情報。
[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 エントリは、アプリケーションのマニフェスト <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 |
古い.
この |
| FeatureLeanback |
古い.
この |
| FeatureUnspecified |
古い.
この |
| FeatureWatch |
古い.
この |
| StateBackground |
古い.
この |
| StateForeground |
古い.
この |
| StatePerceptible |
古い.
この |
プロパティ
| Name | 説明 |
|---|---|
| AdditionalBytesPerDisplayPixel |
この |
| AdditionalMbPerDensity |
デバイスの画面密度に基づいて、この |
| Class |
この |
| Creator |
アプリケーションのメモリ予算情報。 |
| Feature |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
アプリケーションのメモリ予算情報。 (継承元 JavaObject) |
| JniPeerMembers |
アプリケーションのメモリ予算情報。 |
| MaxMb |
この |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| State |
この |
| 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) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
アプリケーションのメモリ予算情報。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|