Podczas tworzenia i testowania aplikacji przydatne może być wyłączenie monitorowania wydajności.
Na przykład, wyłączając monitorowanie wydajności podczas tworzenia aplikacji , możesz:
Wyłącz niektóre funkcje monitorowania wydajności (takie jak te zapewniane przez wtyczkę Performance Monitoring Gradle ) w swoich kompilacjach do debugowania, ale włącz ponownie funkcje w swojej wersji.
Wyłącz monitorowanie wydajności podczas tworzenia aplikacji, ale pozwól aplikacji na ponowne włączenie go w czasie wykonywania.
Wyłącz monitorowanie wydajności podczas tworzenia aplikacji i nie zezwalaj aplikacji na ponowne włączanie jej w czasie wykonywania.
Możesz też zbudować swoją aplikację z włączonym monitorowaniem wydajności , ale użyj zdalnej konfiguracji Firebase, aby zapewnić sobie elastyczność wyłączania (i ponownego włączania) monitorowania wydajności w aplikacji produkcyjnej. Dzięki tej opcji możesz nawet skonfigurować swoją aplikację, aby umożliwić użytkownikom włączanie i wyłączanie korzystania z monitorowania wydajności.
Wyłącz monitorowanie wydajności podczas procesu tworzenia aplikacji
Możesz wyłączyć monitorowanie wydajności podczas procesu kompilacji , wyłączając wtyczkę Performance Monitoring Gradle i/lub wyłączając bibliotekę Performance Monitoring Android .
Podczas opracowywania i debugowania wyłączenie wtyczki jest przydatne, ponieważ oprzyrządowanie wtyczki może przyczynić się do wydłużenia czasu kompilacji. Możesz jednak rozważyć pozostawienie włączonej biblioteki, aby nadal można było wyświetlać dane dotyczące wydajności ze śladów uruchamiania aplikacji, aplikacji na pierwszym planie i aplikacji w tle, a także wszelkich niestandardowych śladów kodu w aplikacji.
Wyłącz wtyczkę Gradle do monitorowania wydajności
Możesz wyłączyć wtyczkę Performance Monitoring, dodając flagę instrumentationEnabled
, korzystając z następujących opcji:
Właściwość rozszerzenia — wyłącza wtyczkę dla określonego wariantu kompilacji w czasie kompilacji
Właściwość projektu — wyłącza wtyczkę dla wszystkich wariantów kompilacji w czasie kompilacji
Wyłącz wtyczkę za pomocą flagi właściwości rozszerzenia
Używając flagi właściwości Extensions , możesz wyłączyć wtyczkę Performance Monitoring dla określonego wariantu kompilacji w czasie kompilacji.
W pliku
build.gradle
na poziomie głównym (na poziomie projektu) upewnij się, że zależność Android Gradle Plugin jest określona jako wersja 3.4.0 lub nowsza.W przypadku wcześniejszych wersji wtyczki Gradle dla systemu Android nadal można wyłączyć wtyczkę do monitorowania wydajności dla określonego wariantu kompilacji, ale wkład czasu kompilacji dla tego wariantu nie zostanie całkowicie wyeliminowany.
Dodaj następującą flagę do pliku
build.gradle
modułu (na poziomie aplikacji), a następnie ustaw ją nafalse
, aby wyłączyć wtyczkę monitorowania wydajności.android { // ... buildTypes { debug { FirebasePerformance { // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for a specific build variant at compile time. instrumentationEnabled false } } } }
Wyłącz wtyczkę za pomocą flagi właściwości projektu
Używając flagi właściwości projektu , możesz wyłączyć wtyczkę monitorowania wydajności dla wszystkich wariantów kompilacji w czasie kompilacji.
Dodaj następującą flagę do pliku gradle.properties
, a następnie ustaw ją na wartość false
, aby wyłączyć wtyczkę monitorowania wydajności.
// ... // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for all build variants at compile time. firebasePerformanceInstrumentationEnabled=false
Wyłącz bibliotekę systemu Android do monitorowania wydajności
Jeśli wyłączysz bibliotekę monitorowania wydajności w czasie kompilacji, możesz wybrać, czy zezwolić aplikacji na włączanie biblioteki w czasie wykonywania.
Wyłącz bibliotekę w czasie kompilacji, ale pozwól aplikacji włączyć ją w czasie wykonywania
Dodaj następujący element <meta-data>
do pliku AndroidManifest.xml
swojej aplikacji:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
Wyłącz bibliotekę w czasie kompilacji, ale nie zezwalaj aplikacji na włączanie jej w czasie wykonywania
Dodaj następujący element <meta-data>
do pliku AndroidManifest.xml
swojej aplikacji:
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
Wyłącz aplikację w czasie wykonywania za pomocą Zdalnej konfiguracji
Zdalna konfiguracja Firebase umożliwia wprowadzanie zmian w zachowaniu i wyglądzie aplikacji, dzięki czemu stanowi idealny sposób na wyłączenie monitorowania wydajności we wdrożonych instancjach aplikacji.
Aby wyłączyć zbieranie danych monitorowania wydajności przy następnym uruchomieniu aplikacji na Androida, użyj przykładowego kodu pokazanego poniżej. Aby uzyskać więcej informacji o korzystaniu ze Zdalnej konfiguracji w aplikacji na Androida, zobacz Używanie Zdalnej konfiguracji Firebase na Androidzie .
Upewnij się, że Remote Config znajduje się w sekcji
dependencies
pliku Gradle modułu (zazwyczajapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.2.1'
Skonfiguruj Zdalną konfigurację i wyłącz monitorowanie wydajności, jeśli
perf_disable
jest ustawione natrue
:Kotlin+KTX
// Setup remote config val config = Firebase.remoteConfig // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // val configSettings = remoteConfigSettings { // minimumFetchIntervalInSeconds = 3600 // } // config.setConfigSettingsAsync(configSettings) // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener { task -> if (task.isSuccessful) { Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable") } else { // An error occurred while setting default parameters } }
Java
// Setup remote config final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() // .setMinimumFetchIntervalInSeconds(3600) // .build(); // config.setConfigSettingsAsync(configSettings); // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { if (config.getBoolean("perf_disable")) { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false); } else { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true); } } else { // An error occurred while setting default parameters } } });
Dodaj następujący kod do
MainActivity.java
, aby pobrać i aktywować wartości Remote Config:Kotlin+KTX
// Remote Config fetches and activates parameter values from the service val config = Firebase.remoteConfig config.fetch(3600) .continueWithTask { task -> if (!task.isSuccessful) { task.exception?.let { throw it } } config.activate() } .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Parameter values successfully activated // ... } else { // Handle errors } }
Java
//Remote Config fetches and activates parameter values from the service final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); config.fetch(3600) .continueWithTask(new Continuation<Void, Task<Boolean>>() { @Override public Task<Boolean> then(@NonNull Task<Void> task) throws Exception { if (!task.isSuccessful()) { throw task.getException(); } return config.activate(); } }) .addOnCompleteListener(new OnCompleteListener<Boolean>() { @Override public void onComplete(@NonNull Task<Boolean> task) { if (task.isSuccessful()) { // Parameter values successfully activated // ... } else { // Handle errors } } });
Aby wyłączyć monitorowanie wydajności w konsoli Firebase, utwórz parametr perf_disable w projekcie swojej aplikacji, a następnie ustaw jego wartość na
true
.Ta zmiana spowoduje wywołania wywołań „brak operacji” (NOOP) zestawu SDK do monitorowania wydajności, eliminując wszelkie znaczące skutki korzystania z zestawu SDK do monitorowania wydajności w aplikacji.
Jeśli ustawisz wartość perf_disable na
false
, monitorowanie wydajności pozostanie włączone.