Android Proguard Release causa no ejecutar for-loop

En mi aplicación de Android estoy construyendo en modo de lanzamiento. Con Proguard activado se produce un problema raro, no se ejecuta un loop for-loop específico:

List<MyClass> objectList = getObjectList(); Log.d("Step 1", String.valueOf(objectList.size())); //Print size > 0 for(MyClass object: objectList) { Log.d("Step 2", object.toString()); //Never printed ... } 

El registro "Paso 1" se imprime correctamente y objectList.size() > 0 . No entiendo qué está causando el "paso 2" El registro nunca se imprime (y todo el código en para-lazo nunca ejecutado). Estoy usando el administrador de dispositivos Android Logcat.

En modo de depuración o con Proguard desactivado, este fragmento funciona correctamente.

Gracias por adelantado.

Actualizar

Acabo de añadir -dontoptimize pero el problema no fue resuelto. Este es mi archivo proguard-rules:

 -dontoptimize -dontpreverify -repackageclasses '' -allowaccessmodification #-optimizations !code/simplification/arithmetic -keepattributes *Annotation*,EnclosingMethod,SourceFile,LineNumberTable -renamesourcefileattribute SourceFile -keepnames class com.androidplot.** { *; } -keepnames class com.fasterxml.jackson.** { *; } -keepnames class org.acra.** { *; } -keep,allowoptimization class com.mypackage.myapp.model.** { *; } -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.preference.PreferenceFragment -keep public class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(...); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator CREATOR; } -keepclassmembers class **.R$* { public static <fields>; } -dontwarn com.mypackage.myapp.** -dontwarn com.fasterxml.jackson.databind.ext.** -dontwarn com.google.common.** -dontwarn android.support.** 

https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/troubleshooting.html

Loops que desaparecen

Si su código contiene bucles ocupados en espera vacíos, el paso de optimización de ProGuard puede eliminarlos. Más específicamente, esto sucede si un bucle comprueba continuamente el valor de un campo no volátil que se cambia en un hilo diferente. Las especificaciones de la Máquina Virtual Java requieren que siempre se marquen los campos a los que se accede a través de diferentes subprocesos sin sincronización adicional como volátil. Si esto no es posible por alguna razón, tendrá que desactivar la optimización mediante la opción -dontoptimize.

  • Quitar la biblioteca externa de clases obfuscated.jar (en Android Studio / Gradle)
  • Android - proguard error en el android studio
  • Android Proguard SqlCipher NoClassDefFoundError
  • Cómo utilizar retrace.bat en android
  • Proguard mantener a los miembros de la clase
  • Cómo configurar ProGuard para omitir métodos con SupressWarning ("unused")
  • Mis mensajes de registro no se eliminan con la configuración de proguard
  • Proguard no puede encontrar la clase referenciada com.google.ads.internal.state.AdState
  • ¿Cuál es la buena estrategia cuando se trata de Proguard, MultiDex, Testing y Product Flavors?
  • ¿Debo mantener android.support.v4.app.Fragment y sus clases derivadas al crear una versión de lanzamiento de mi aplicación?
  • Proguard: IllegalArgumentException - Error inesperado al evaluar la instrucción
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.