MemoryBudgetManager クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。
[Android.Runtime.Register("android/app/MemoryBudgetManager", ApiSince=37, DoNotGenerateAcw=true)]
public sealed class MemoryBudgetManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/MemoryBudgetManager", ApiSince=37, DoNotGenerateAcw=true)>]
type MemoryBudgetManager = class
inherit Object
- 継承
- 属性
注釈
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 メモリの予算は、アプリケーションまたはそのプロセスの 1 つによって、そのメモリ要件が一部の制限を超えないという約束です。 予算はハード制限ではありません。超過しても、メモリを解放して予算制限を下回ろうとすると、プロセスの速度が低下する可能性があります。
予算宣言は、システムからのメモリ要求ではなく、システムがプロセスにメモリを割り当てる方法にも影響しません。 予算により、アプリケーションは独自のリソースの使用を監視できます。
これらの予算に対して追跡されるメモリ使用量には、次のものが含まれます。
匿名割り当て。最も一般的には、Java ヒープとネイティブ ヒープです。
ファイルベースのページ (メモリにマップされたファイルやプロセスによってキャッシュされたファイルなど)。
プロセス間で共有されるメモリ (共有メモリ セグメントなど) の場合、使用量は、それをマップまたは割り当てる最初のプロセスに課金されます。
追跡対象のメモリ使用量には、ネイティブ グラフィックス バッファーや DMA-BUF は含まれません。
このインターフェイスで管理される予算に加えて、メモリには 2 セットの制限があります。 システムの制限とマニフェストの予算があります (マニフェストで <memory-budget> を使用して宣言されます)。 このインターフェイスを通じて管理される予算は、システムまたはマニフェストの制限を超えない場合があります。 システムまたはマニフェストの制限を超えようとすると、IllegalArgumentException が発生します。 ただし、このインターフェイスを介して設定された予算は、新しい値がシステムまたはマニフェストの制限を超えない限り、いつでも変更できます。
予算は肯定的である必要があります。0 または負の予算を設定しようとすると、IllegalArgumentException が発生します。
パッケージ (アプリケーション) 予算は、アプリケーション内のすべてのプロセス (具体的には、アプリケーションの UID で実行されているすべてのプロセス) に適用されます。 アプリケーションが UID を他のアプリケーションと共有する場合、その予算は、その共有 UID で実行されているすべてのプロセスの集計使用量に適用されます。
プロセス予算は、1 つのプロセスに適用されます。 プロセスに大きな予算を設定し、パッケージに小さな予算を設定することができます。パッケージ予算が優勢であり、大きなプロセス予算は無関係です。 これはエラーではありません。
このクラスによって提供される主なインターフェイスは次のとおりです。メモリ予算の構成:;setPackageBudgetBytes(long) / clearPackageBudget() - アプリケーションのメモリ予算を設定またはクリアします。setProcessBudgetBytes(long) / clearProcessBudget() - 呼び出し元プロセスのメモリ予算を設定またはクリアします。メモリ予算クエリ:;getPackageBudgetBytes() - アプリケーションの現在の予算を返します。getProcessBudgetBytes() - 呼び出し元プロセスの現在の予算を返します。メモリ使用量クエリ:;getPackageCurrentUsageBytes() - アプリケーション パッケージ内のすべてのプロセスの合計メモリ使用量を返します。getProcessCurrentUsageBytes() - 呼び出し元の特定のプロセスのメモリ使用量を返します。Over-Budget イベントの監視:;OnOverBudgetListener - メモリ使用量が予算のしきい値を超えたときに通知されるコールバック インターフェイス。registerPackageOverBudgetListener(Looper,OnOverBudgetListener) / unregisterPackageOverBudgetListener(OnOverBudgetListener) - パッケージ レベルの予算違反のリスナーを登録または登録解除します。registerProcessOverBudgetListener(Looper,OnOverBudgetListener) / unregisterProcessOverBudgetListener(OnOverBudgetListener) - プロセス レベルの予算違反のリスナーを登録または登録解除します。
android.app.MemoryBudgetManagerの Android リファレンス。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
フィールド
| Name | 説明 |
|---|---|
| LimitIsDisabled |
この値は、 |
プロパティ
| Name | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| JniPeerMembers |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 |
| PackageBudgetBytes |
呼び出し元のアプリケーションの予算を返します。 または、呼び出し元のアプリケーションのメモリ予算を設定します。 |
| PackageCurrentUsageBytes |
呼び出し元のアプリケーション UID で実行されているすべてのプロセスの合計メモリ使用量を返します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ProcessBudgetBytes |
呼び出し元のプロセスの予算を返します。 または、呼び出し元のプロセスのメモリ予算を設定します。 |
| ProcessCurrentUsageBytes |
呼び出し元のプロセスの現在のメモリ使用量を返します。 |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
メソッド
| Name | 説明 |
|---|---|
| ClearPackageBudget() |
呼び出し元のアプリケーションのパッケージ予算 (存在する場合) を削除します。 |
| ClearProcessBudget() |
呼び出し元のプロセスのプロセス予算 (ある場合) を削除します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| Equals(Object) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| RegisterPackageOverBudgetListener(Looper, MemoryBudgetManager+IOnOverBudgetListener) |
呼び出し元のアプリケーションがパッケージの予算を超えた場合に通知を受け取るレジスタ。 |
| RegisterProcessOverBudgetListener(Looper, MemoryBudgetManager+IOnOverBudgetListener) |
呼び出し元のプロセスがプロセスの予算を超えた場合に通知を受け取るレジスタ。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| UnregisterPackageOverBudgetListener(MemoryBudgetManager+IOnOverBudgetListener) |
パッケージ予算リスナーの登録を解除します。 |
| UnregisterProcessOverBudgetListener(MemoryBudgetManager+IOnOverBudgetListener) |
プロセス予算リスナーの登録を解除します。 |
| 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) |
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| IJavaPeerable.Finalized() |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 (継承元 JavaObject) |
拡張メソッド
| Name | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
このクラスは、アプリケーションとプロセスのメモリ予算に対するクライアント インターフェイスです。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|