ImageView se estrelló la aplicación

Cuando se ha hecho clic en imageView, quiero mostrar la imagen en pantalla completa. Por primera vez funciona, pero después de eso se estrelló. Y el error apuntaba a

startActivity(intent); 

Código

 Intent intent = new Intent(AddExpenses.this,FullScreenImage.class); imageView.buildDrawingCache(); Bitmap image= imageView.getDrawingCache(); Bundle extras = new Bundle(); extras.putParcelable("imagebitmap", image); intent.putExtras(extras); startActivity(intent); image.recycle(); 

FullScreenImage

 public class FullScreenImage extends Activity { @SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_full); Bundle extras = getIntent().getExtras(); Bitmap bmp = (Bitmap) extras.getParcelable("imagebitmap"); ImageView imgDisplay; Button btnClose; imgDisplay = (ImageView) findViewById(R.id.imgDisplay); btnClose = (Button) findViewById(R.id.btnClose); btnClose.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { FullScreenImage.this.finish(); } }); imgDisplay.setImageBitmap(bmp ); } } 

Logcat

 E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.IllegalStateException: Can't parcel a recycled bitmap at android.graphics.Bitmap.checkRecycled(Bitmap.java:256) at android.graphics.Bitmap.writeToParcel(Bitmap.java:1366) at android.os.Parcel.writeParcelable(Parcel.java:1254) at android.os.Parcel.writeValue(Parcel.java:1173) 

Uso extras.putParcelable("imagebitmap",image.copy(image.getConfig(), true)); pero recibiendo nuevo error

 java.lang.IllegalStateException: Can't copy a recycled bitmap at android.graphics.Bitmap.checkRecycled(Bitmap.java:256) at android.graphics.Bitmap.copy(Bitmap.java:454) at com.example.tony.monthlyexpenses.AddExpenses$4.onClick(AddExpenses.java:176) 

One Solution collect form web for “ImageView se estrelló la aplicación”

Creo que el problema es porque la serilización se hace después de que la intención es despedida. Así que en lugar del mapa de bits, acaba de poner una copia del Bitmap de Bitmap en el intento, como esto:

 extras.putParcelable("imagebitmap",image.copy(image.getConfig(), true)); intent.putExtras(extras); 

Compruebe si esto soluciona el problema.

  • Borde sobre un mapa de bits con esquinas redondeadas en Android
  • ¿Por qué estoy recibiendo java.io.IOException: Mark ha sido invalidado?
  • Mapa de bits de StateListDrawable y mosaico
  • Guardar bitmap en la función de archivo
  • Tamaño de pantalla de Android Scaling Canvas
  • Necesito enviar un archivo de imagen al servidor de Clarifai para la clasificación de imágenes, pero sigo recibiendo "marcos omitidos, aplicación que hace demasiado trabajo"
  • Android: lee la imagen PNG sin alpha y decodifica como ARGB_8888
  • Cómo dibujar un mapa de bits en un lienzo, respetando los valores alfa del mapa de bits?
  • Aplicación lenta con imagen de fondo
  • Bordes negros alrededor de la captura de pantalla tomada
  • Guardar mapa de bits Android sin área transparente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.