Android, ¿Log reduce la velocidad de la aplicación?

En mi aplicación tengo tantas líneas de registros, como Log.i (), Log.e () y Log.d (). Utilizo estos registros ampliamente a través de mi aplicación.

Después de ejecutar mi aplicación si conecto dispositivo a Eclipse puedo ver cientos de líneas de registro. Mi pregunta es ¿este comportamiento reduce la velocidad de la aplicación?

Unesdoc.unesco.org unesdoc.unesco.org

Actualizar

Gracias a Frank por su sugerencia. He añadido el código propuesto en proguard.cfg y luego exportado nuevo archivo APK. Tomó tanto tiempo pero finalmente generó un nuevo archivo APK. Sin embargo, cuando lo pruebo en un dispositivo real todavía puedo ver los registros.

Este es mi proguard.cfg:

# This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose # Optimization is turned off by default. Dex does not like code run # through the ProGuard optimize and preverify steps (and performs some # of these optimizations on its own). -dontoptimize -dontpreverify # Note that if you want to enable optimization, you cannot just # include optimization flags in your own project configuration file; # instead you will need to point to the # "proguard-android-optimize.txt" file instead of this one from your # project.properties file. -keepattributes *Annotation* -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native -keepclasseswithmembernames class * { native <methods>; } # keep setters in Views so that animations can still work. # see http://proguard.sourceforge.net/manual/examples.html#beans -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } # We want to keep methods in Activity that could be used in the XML attribute onClick -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keepclassmembers class **.R$* { public static <fields>; } # The support library contains references to newer platform versions. # Don't warn about those in case this app is linking against an older # platform version. We know about them, and they are safe. -dontwarn android.support.** # Hesam - Remove all logs -assumenosideeffects class android.util.Log { public static int v(...); public static int d(...); public static int i(...); public static int w(...); public static int e(...); } #-libraryjars /libs/gcm.jar #-libraryjars /libs/libGoogleAnalytics.jar #-libraryjars /libs/twitter4j-core-android-2.2.6.jar #-libraryjars /libs/universal-image-loader-1.5.4.jar -dontwarn javax.management.** -dontwarn java.lang.management.** -dontwarn org.apache.** -dontwarn org.slf4j.** -dontwarn org.json.* -keep class com.google.** { *; } -keep class twitter4j.** { *; } -keep class com.nostra13.** { *; } 

La respuesta es obvia, sí lo hace.

Pero hay una solución, puede pedir a Proguard que elimine las declaraciones de registro de cualquier nivel que desee. De esta manera, los usuarios no se ven afectados por el registro detallado que no ven de todos modos.

Añada folowing a su configuración de Proguard:

 -assumenosideeffects class android.util.Log { public static *** d(...); public static *** v(...); public static *** i(...); public static *** w(...); public static *** e(...); public static *** wtf(...); } 

Esto eliminará las sentencias LOG.d y LOG.v, puede expandir a su gusto.

  • Disminuir la verbosidad del registro interno de ORMlite o deshabilitarla
  • Informe de errores completo y personalizado de las aplicaciones de Android
  • Logback-Android: error de "acción no aplicable" cuando se utiliza FixedWindowRollingPolicy con un parámetro SizeBasedTriggeringPolicy
  • Visor de registro de escritorio de Android
  • contraseña de Android o número de teléfono para iniciar sesión
  • ¿Cómo registrar el cuerpo de solicitud y respuesta con Retrofit-Android?
  • ¿Por qué Logcat se llama LogCAT?
  • BaseLayerAndroid creando mensajes de registro de destrucción
  • Mejor registrador de Android para iniciar sesión en el archivo
  • SLF4J varargs interpreta la primera cadena como marcador
  • Android: el método i (String, String) no está definido para el tipo Log
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.