Eine der Funktionen von FireBase Performance Monitoring ist die Trace-Funktion, die zwischen zwei Punkten von einem Punkt zum anderen misst. Versuchen Sie, Firebase Performance Monitoring für Android zu verwenden
Wenn es sich in derselben Klasse befindet, können Sie mit newTrace ("") ein Objekt erstellen und .startTrace () → .stopTrace () ausführen.
In Anbetracht des Messfalls ist es wartbarer und erweiterbarer, wenn es wie ein Dienstprogramm verwendet werden kann. Ein weiterer Grund ist, dass ich nicht aufhören möchte (), sobald ich einen Rückruf erhalte, indem ich der Aktivität ein Trace-Objekt gebe.
Ich habe es mit Singleton und Enum geschafft, also werde ich die Ausgabe teilen.
PerformanceMontoringSample.java
public class PerformanceMonitoringSample {
private static PerformanceMonitorSample performanceMonitorSample;
private final Map<TraceName, Trace> traceMap = new HashMap<>();
public enum TraceName {
SAMPLE_ONE("sample_one"),
SAMPLE_TWO("sample_two");
private final String traceInstanceName;
TraceName(String traceInstanceName) {
this.traceInstanceName = traceInstancName;
}
}
private PerformanceMonitoringSample() {
}
/**
*Holen Sie sich eine Instanz
*/
public static PerformanceMonitoringSample getInstance() {
if (performanceMonitorSample == null) {
performanceMonitoringSample = new PerformanceMonitoringSample();
return performanceMonitorSample;
} else {
return performanceMonitorSample;
}
}
Bis hierher
nicht wahr.
Im Folgenden werde ich die Verarbeitung von Messungsstart und -ende schreiben.
PerformanceMontoringSample.java
/**
*Messung starten
*/
public void startTrace(TraceName traceName) {
if (traceMap.containsKey(traceName)) {
return;
}
Trace myTrace = = FirebasePerformance.getInstance().newTrace(traceName.traceInstanceName);
myTrace.start();
traceMap.put(traceName.traceInstanceName, myTrace);
}
}
/**
*Messung beenden
*/
public void stopTrace(TraceName traceName) {
//Möglicherweise muss die Karte selbst auf null überprüft werden ...
if (traceMap.containsKey(traceName)) {
traceMap.remove(traceName.traceInstanceName).stop;
}
}
}
}
Um es zu verwenden, erstellen Sie zuerst eine PerformanceMonitoring-Instanz mit getInstance () und dann start () und stop () zwischen den beiden Punkten, die Sie messen möchten. Die Leistungsüberwachung leistet hinter den Kulissen gute Arbeit. Wenn Sie also nur die Zweige abdecken, wird sie gut gemessen und sollte nicht so stark fallen ...
Recommended Posts