Je voudrais proposer une solution de contournement simple si vous utilisez proguard lors de l'exportation APK.
Proguard fournit un moyen de supprimer les appels à des fonctions spécifiques en mode de libération. Tous les appels de journaux de débogage peuvent être supprimés avec le paramètre suivant dans proguard-project.txt
.
# Remove debug logs
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
Et l'optimisation s'installe project.properties
.
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
Avec cela, vous n'avez pas besoin de vous soucier de tout calcul String inutile passant au journal de débogage vers lequel @Jeremyfa a pointé. Les calculs sont simplement supprimés dans la version de version.
Ainsi, la solution de contournement pour BuildConfig.DEBUG utilise la même fonctionnalité de proguard comme suit.
public class DebugConfig {
private static boolean debug = false;
static {
setDebug(); // This line will be removed by proguard in release.
}
private static void setDebug() {
debug = true;
}
public static boolean isDebug() {
return debug;
}
}
Et après l'installation proguard-project.txt
.
-assumenosideeffects class com.neofect.rapael.client.DebugConfig {
private static *** setDebug();
}
Je préférerais l'utiliser à la désactivation de l' Build Automatically
option, car cela ne dépend pas du paramètre IDE individuel du constructeur, mais est conservé en tant que fichier engagé qui est partagé entre les développeurs.