ProfilingManager 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別允許呼叫者:
<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
- 繼承
- 屬性
備註
此類別允許來電者: <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 |
已淘汰.
用來請求堆積剖面的剖面 |
| ProfilingTypeJavaHeapDump |
已淘汰.
用 的 剖析型 |
| ProfilingTypeStackSampling |
已淘汰.
用來請求堆疊樣本的剖析類型 |
| ProfilingTypeSystemTrace |
已淘汰.
用來請求系統追蹤的剖析類型 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別允許呼叫者:
(繼承來源 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) |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| Equals(Object) |
此類別允許呼叫者:
(繼承來源 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) |
此類別允許呼叫者:
(繼承來源 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() |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| IJavaPeerable.Finalized() |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別允許呼叫者:
(繼承來源 JavaObject)
|
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別允許呼叫者:
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |