語言

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>請求側寫並聆聽結果。 支援的剖析類型包括:系統追蹤、Java 堆積傾印、堆積配置檔及堆疊追蹤。</li><li>登錄器觸發系統代表應用程式擷取資料分析。</li></ul>

#requestProfiling API 可用來開始進行分析。 分析可透過請求中提供的取消訊號手動終止,或因逾時而終止。 逾時可能是系統預設值,或參數套件中針對特定類型定義的呼叫者。

分析結果會傳送到請求應用程式的資料目錄,並透過應用程式提供的監聽器接收到指向該檔案的指標。

應用程式可以透過兩種方式之一或兩種方式提供聽眾: <ul><li>請求附贈的專屬聽眾。 這個只會在收到請求結果時觸發。</li><li>全球聆聽者由 #registerForAllProfilingResults。 這個功能會針對你應用程式的所有結果觸發。 此監聽器是唯一能從系統 #addProfilingTriggers觸發的剖析實例中取得結果的方法。</li></ul>

請求有速率限制,且不保證會被填滿。 在本地測試 #requestProfiling 使用 shell 指令時,可以關閉速率限制 device_config put profiling_testing rate_limiter.disabled true

在本地測試中,啟用除錯模式可更輕鬆地存取分析結果。 此系統會將輸出檔案保留在暫存系統目錄中。 保留檔案的位置將在 logcat 中提供。 行為與指令依版本而異: <ul><li>對於 Android 16 及以上版本,除錯模式會在暫存目錄中保留未塗黑(如適用)與已塗黑的結果。 可以用 shell 指令 device_config put profiling_testing delete_temporary_results.disabled true 啟用,並透過將相同值設回 false 來停用。 保留結果可在所有建構類型中取得。 </li><li>對於 Android 15 版本,除錯模式只會保留暫存目錄中未塗黑的結果(如適用)。 可以用 shell 指令 device_config put profiling_testing delete_unredacted_trace.disabled true 啟用,並透過將相同值設回 false 來停用。 保留的未刪減檔案只能在擁有 root 權限的建置檔中存取。 要在未 root 裝置上存取已遮蔽的輸出檔案,應用程式可以將檔案從 複製 /pkg/files/profiling/file.type 到 /pkg/cache/file.type。 </li></ul>

為了測試剖析觸發器,請用 shell 指令啟用你的應用程式測試模式,該指令 device_config put profiling_testing system_triggered_profiling.testing_package_name com.your.app 會: <ul><li>確保背景追蹤正在執行。</li><li>允許所有針對所提供套件名稱的觸發器通過系統層級速率限制器。 此模式會持續,直到用 shell 指令 device_config delete profiling_testing system_triggered_profiling.testing_package_name手動停止為止。 </li></ul>

結果經過塗黑,僅包含申請流程的具體資訊。

Java 文件 android.os.ProfilingManager。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

欄位

名稱 Description
ProfilingTypeHeapProfile
已淘汰.

用來請求堆積剖面的剖面 #requestProfiling 類型。

ProfilingTypeJavaHeapDump
已淘汰.

用 的 剖析型 #requestProfiling 別來請求 Java 堆積傾印。

ProfilingTypeStackSampling
已淘汰.

用來請求堆疊樣本的剖析類型 #requestProfiling 。

ProfilingTypeSystemTrace
已淘汰.

用來請求系統追蹤的剖析類型 #requestProfiling 。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

此類別允許呼叫者:

        &lt;ul&gt;
          &lt;li&gt;Request profiling and listen for results.
(繼承來源 JavaObject)
JniPeerMembers

提供此類型的 JNI 同儕成員元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
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()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 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>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
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)

擴充方法

名稱 Description
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 端是否有效。

適用於