Language

ProfilingManager クラス

定義

このクラスを使用すると、呼び出し元は次のことができます。

        <ul>
          <li>Request profiling and listen for results.
[Android.Runtime.Register("android/os/ProfilingManager", ApiSince=35, DoNotGenerateAcw=true)]
public sealed class ProfilingManager : Java.Lang.Object
[<Android.Runtime.Register("android/os/ProfilingManager", ApiSince=35, DoNotGenerateAcw=true)>]
type ProfilingManager = class
    inherit Object
継承
ProfilingManager
属性

注釈

このクラスを使用すると、呼び出し元は <ul><li>Request プロファイリングを実行し、結果をリッスンできます。 サポートされているプロファイリングの種類は、システム トレース、Java ヒープ ダンプ、ヒープ プロファイル、スタック トレースです。</li><li>システムがアプリに代わってプロファイリングをキャプチャするための登録トリガー。</li></ul>

#requestProfiling API を使用してプロファイリングを開始できます。 要求で提供された CancellationSignal を使用して、またはタイムアウトの結果として、プロファイリングを手動で終了できます。 タイムアウトは、選択型のパラメーター バンドルで定義されているシステムの既定値または呼び出し元のいずれかです。

プロファイリング結果は要求するアプリのデータ ディレクトリに配信され、アプリが提供するリスナーを使用してファイルへのポインターが受信されます。

アプリは、要求に含まれる要求固有のリスナー <ul><li>A の 2 つの方法のいずれかまたは両方でリスナーを提供できます。 これは、.< で提供された要求からの結果でのみトリガーされます。/li><li>#registerForAllProfilingResultsによって提供されるグローバル リスナー。 これは、アプリに属するすべての結果に対してトリガーされます。 このリスナーは、 #addProfilingTriggers.< で設定されたシステム によってトリガーされるプロファイリング インスタンスから結果を受信する唯一の方法です/li></ul>

要求はレート制限付きで、満たされる保証はありません。 レート制限は、シェル コマンドを使用して #requestProfiling のローカル テストで無効にすることができます device_config put profiling_testing rate_limiter.disabled true

ローカル テストでは、デバッグ モードを有効にすることで、プロファイリング結果に簡単にアクセスできます。 これにより、出力ファイルは一時システム ディレクトリに保持されます。 保持されるファイルの場所は logcat で使用できます。 動作とコマンドはバージョンによって異なります: <ul><li> Android バージョン 16 以降の場合、デバッグ モードでは、未保存 (該当する場合) と編集されていない結果の両方が一時ディレクトリに保持されます。 これは、シェル コマンド device_config put profiling_testing delete_temporary_results.disabled true で有効にし、同じ値を false に戻すことで無効にすることができます。 保持された結果は、すべてのビルドの種類でアクセスできます。 </li><li> Android バージョン 15 の場合、デバッグ モードでは、(該当する場合は) 未確認の結果のみが一時ディレクトリに保持されます。 これは、シェル コマンド device_config put profiling_testing delete_unredacted_trace.disabled true で有効にし、同じ値を false に戻すことで無効にすることができます。 保存されていないファイルには、ルート アクセスを持つビルドでのみアクセスできます。 ルートされていないデバイス上の編集済み出力ファイルにアクセスするには、アプリはファイルを /pkg/files/profiling/file.type から /pkg/cache/file.typeにコピーできます。 </li></ul>

プロファイリング トリガーをテストするには、シェル コマンド device_config put profiling_testing system_triggered_profiling.testing_package_name com.your.app を使用してアプリのテスト モードを有効にします。 <ul><li>バックグラウンド トレースが実行されていることを確認します。</li><li>指定されたパッケージ名のすべてのトリガーを適用して、システム レベルレートリミッターを渡します。 このモードは、シェル コマンド device_config delete profiling_testing system_triggered_profiling.testing_package_nameで手動で停止するまで続行されます。 </li></ul>

結果は編集され、要求プロセスに関する特定の情報のみが含まれます。

Javaドキュメント。

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

フィールド

名前 説明
ProfilingTypeHeapProfile
古い.

ヒープ プロファイルを要求する #requestProfiling のプロファイルの種類。

ProfilingTypeJavaHeapDump
古い.

java ヒープ ダンプを要求する #requestProfiling のプロファイルの種類。

ProfilingTypeStackSampling
古い.

スタック サンプルを要求する #requestProfiling のプロファイルの種類。

ProfilingTypeSystemTrace
古い.

システム トレースを要求する #requestProfiling のプロファイルの種類。

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
JniPeerMembers

この型の JNI ピア メンバー メタデータを提供します。

PeerReference

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

(継承元 Object)
ThresholdClass

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

(継承元 Object)
ThresholdType

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

(継承元 Object)

メソッド

名前 説明
AddAllProfilingTriggers()

すべてのトリガーに対してこのプロセスを登録します。

AddProfilingTriggers(IList<ProfilingTrigger>)

このプロセスに指定されたトリガーの一覧を登録します。

ClearProfilingTriggers()

このプロセスのすべてのトリガーを削除します。

Clone()

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

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

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
Equals(Object)

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

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

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
RegisterForAllProfilingResults(IExecutor, IConsumer)

この uid のすべてのプロファイリング結果に対して呼び出されるリスナーを登録します。

RemoveProfilingTriggersByType(Int32[])

指定された一覧のトリガーの種類を使用して、このプロセスのトリガーを削除します。

RequestProfiling(ProfilingType, Bundle, String, CancellationSignal, IExecutor, IConsumer)

システム プロファイルを要求します。

RequestRunningSystemTrace(String)

バックグラウンド トレースのスナップショット (実行中の場合) を要求します。

SetHandle(IntPtr, JniHandleOwnership)

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

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

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
ToArray<T>()

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

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterForAllProfilingResults(IConsumer)

すべてのプロファイリング結果に対して呼び出されるリスナーの登録を解除します。

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)

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

名前 説明
IJavaPeerable.Disposed()

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
IJavaPeerable.Finalized()

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

このクラスを使用すると、呼び出し元は次のことができます。

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象