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?
- ¿Por qué no debería usar System.out.println () en android
- Android Proguard no elimina todos los mensajes de registro
- Informe de errores completo y personalizado de las aplicaciones de Android
- Grabación y almacenamiento de audio en Android
- Disminuir la verbosidad del registro interno de ORMlite o deshabilitarla
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.** { *; }
- Android: Cómo quitar el registro de depuración de SLF4J con ProGuard
- Debo eliminar e.printStackTrace () de mi código antes de publicar
- ¿Cómo obtener slf4j-android para honrar el nivel de registro de Logcat?
- ¿Cómo registrar el cuerpo de solicitud y respuesta con Retrofit-Android?
- ¿Cómo puedo desactivar el registro interno de Android para etiquetas específicas (por ejemplo, AbsListView, GestureDetector, endeffect)
- Cómo depurar Android inEclipse
- Filtrar etiquetas en LogCat (en el complemento Android Eclipse)
- ¿Cómo implementar el registro / registrarse en android?
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.
- ¿Dónde está en AOSP el código para analizar AndroidManifest.xml?
- ConfigChanges = "orientation" no se activa en Galaxy Nexus