Sprache

ProfilingManager Klasse

Definition

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

[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
Vererbung
ProfilingManager
Attribute

Hinweise

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse. Unterstützte Profilerstellungstypen sind: Systemablaufverfolgungen, Java-Heapabbilder, Heapprofile und Stapelüberwachungen.</li li><>Register triggers for the system to capture profiling on the apps behalf.</li></ul>

Die #requestProfiling API kann verwendet werden, um mit der Profilerstellung zu beginnen. Die Profilerstellung kann manuell mit dem in der Anforderung bereitgestellten CancellationSignal oder aufgrund eines Timeouts beendet werden. Bei dem Timeout kann es sich entweder um den Systemstandard oder den Aufrufer handeln, der im Parameterbundle für ausgewählte Typen definiert ist.

Die Profilerstellungsergebnisse werden an das Datenverzeichnis der anfordernden App übermittelt, und ein Zeiger auf die Datei wird mit den von der App bereitgestellten Listenern empfangen.

Apps können Listener auf eine oder beide Arten bereitstellen: <ul><li>A anforderungsspezifische Listener, die in der Anforderung enthalten sind. Dies wird nur mit einem Ergebnis der Anforderung ausgelöst, mit der sie bereitgestellt wurde.</li><>Li Ein globaler Listener, der von #registerForAllProfilingResults. Dies wird für alle Ergebnisse ausgelöst, die zu Ihrer App gehören. Dieser Listener ist die einzige Möglichkeit, Ergebnisse von vom System ausgelösten Profilerstellungsinstanzen zu empfangen, die mit #addProfilingTriggers.</li></ul>

Anforderungen sind eingeschränkt und können nicht garantiert ausgefüllt werden. Die Einschränkung der Rate kann für lokale Tests #requestProfiling mit dem Shellbefehl deaktiviert werden. device_config put profiling_testing rate_limiter.disabled true

Für lokale Tests kann einfacher auf Profilerstellungsergebnisse zugegriffen werden, indem der Debugmodus aktiviert wird. Dadurch werden Ausgabedateien in einem temporären Systemverzeichnis beibehalten. Die Speicherorte der aufbewahrten Dateien sind in logcat verfügbar. Das Verhalten und der Befehl variiert je nach Version: <ul><li>für Android-Versionen 16 und höher, der Debugmodus behält sowohl unrededacted (sofern zutreffend) als auch redacted ergebnisse im temporären Verzeichnis bei. Sie kann mit dem Shellbefehl device_config put profiling_testing delete_temporary_results.disabled true aktiviert und deaktiviert werden, indem Sie denselben Wert wieder auf "false" festlegen. Auf beibehaltene Ergebnisse kann für alle Buildtypen zugegriffen werden. </li li><>für Android, Version 15, Debugmodus behält nur das nicht festgelegte Ergebnis (sofern zutreffend) im temporären Verzeichnis bei. Sie kann mit dem Shellbefehl device_config put profiling_testing delete_unredacted_trace.disabled true aktiviert und deaktiviert werden, indem Sie denselben Wert wieder auf "false" festlegen. Auf die beibehaltene nicht komprimierte Datei kann nur auf Builds mit Stammzugriff zugegriffen werden. Um auf die redacted-Ausgabedatei auf einem nicht gerooteten Gerät zuzugreifen, können Apps die Datei von /pkg/files/profiling/file.type zu /pkg/cache/file.typekopieren. </li></ul>

Um Profilerstellungstrigger zu testen, aktivieren Sie den Testmodus für Ihre App mit dem Shellbefehldevice_config put profiling_testing system_triggered_profiling.testing_package_name com.your.app, der folgendes bewirkt: <ul><li>Stellen Sie sicher, dass eine Hintergrundablaufverfolgung ausgeführt wird.</li li><>Allow all trigger for the provided package name to pass the system level rate limiter. Dieser Modus wird fortgesetzt, bis der Shellbefehl device_config delete profiling_testing system_triggered_profiling.testing_package_namemanuell beendet wurde. </li></ul>

Die Ergebnisse sind redigiert und enthalten nur spezifische Informationen zum anfordernden Prozess.

Hinweis: Sehen Sie sich die Erfassung realer Benutzerdaten mithilfe von ProfilingManager an, um einen detaillierten Leitfaden zur Verwendung dieser API zu erhalten, der die Erfassung von Profilerstellung umfasst, indem Sie die Ergebnisse interpretieren.

Java Dokumentation für android.os.ProfilingManager.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Felder

Name Beschreibung
ProfilingTypeHeapProfile
Veraltet.

Profilerstellungstyp zum #requestProfiling Anfordern eines Heapprofils.

ProfilingTypeJavaHeapDump
Veraltet.

Profilerstellungstyp zum #requestProfiling Anfordern eines Java-Heapabbilds.

ProfilingTypeStackSampling
Veraltet.

Profilerstellungstyp zum #requestProfiling Anfordern eines Stapelbeispiels.

ProfilingTypeSystemTrace
Veraltet.

Profilerstellungstyp zum #requestProfiling Anfordern einer Systemablaufverfolgung.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
JniPeerMembers

Stellt JNI-Peer-Membermetadaten für diesen Typ bereit.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

Name Beschreibung
AddAllProfilingTriggers()

Registrieren Sie diesen Vorgang für alle Trigger.

AddProfilingTriggers(IList<ProfilingTrigger>)

Registrieren Sie die bereitgestellte Liste der Auslöser für diesen Prozess.

ClearProfilingTriggers()

Entfernen Sie alle Trigger für diesen Prozess.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
Equals(Object)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
RegisterForAllProfilingResults(IExecutor, IConsumer)

Registrieren Sie einen Listener, der für alle Profilerstellungsergebnisse für diese UID aufgerufen werden soll.

RemoveProfilingTriggersByType(Int32[])

Entfernen Sie Trigger für diesen Prozess mit Triggertypen in der bereitgestellten Liste.

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

Anforderung der Systemprofilerstellung.

RequestRunningSystemTrace(String)

Fordern Sie eine Momentaufnahme einer Hintergrundablaufverfolgung an, wenn eine ausgeführt wird.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterForAllProfilingResults(IConsumer)

Heben Sie die Registrierung eines Listeners auf, der für alle Profilerstellungsergebnisse aufgerufen werden soll.

UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Diese Klasse ermöglicht dem Aufrufer: <ul><li>Request Profiling und Lauschen auf Ergebnisse.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: