Android App , problema imageview con img de 8 Mpx

pepinal

Hola:
Tengo una aplicacion que carga imagenes de la galeria y las muestra.
Pero solo me funciona con imagenes de hasta 6 megapixeles. Las imagenes de 8 se cierra la aplicacion.
Mi codigo es este:

Esta parte es la que lanza el intent de abrir la galeria del movil:

			Intent galeria = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
			startActivityForResult(galeria,2);	

Y esta otra es la que recibe el data de la foto elejida :

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	if (data != null) {
		if (requestCode == 2) {			
			Uri selectedImage = data.getData();
			File imageFile = new File(getRealPathFromURI(selectedImage));
			foto = imageFile.getPath();
    		InputStream is;
    		try {
    			is = getContentResolver().openInputStream(selectedImage);
    	    	BufferedInputStream bis = new BufferedInputStream(is);
    	    	Bitmap bitmap = BitmapFactory.decodeStream(bis); 
    	    	imagen.setImageBitmap(bitmap);						
    		} catch (FileNotFoundException e) {}
		
	}
   }
}

Tambien guardo la ruta de la imagen en una base de datos sql. El problema esta que con las imagenes de 8 no funciona se cierra la aplicacion.
Me puede ayudar alguien¿?
No se como solucionarlo.
Hay alguna manera de comprimir la imagen o algo que pongo mal¿?
La layout del image view es asi:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/Gris_suave"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MostrarLugar_activity" >

    <ScrollView
        android:id="@+id/scrollView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="25dp"
                android:layout_marginTop="5dp"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/enombre"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="top|right"
                        android:layout_marginBottom="@dimen/a16"
                        android:gravity="top|left|start"
                        android:text="@string/nombre"
                        android:textColor="@color/NEGRO"
                        android:textSize="@dimen/a15"
                        android:textStyle="bold"
                        android:typeface="sans" />

                    <EditText
                        android:id="@+id/editonombre"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_gravity="right"
                        android:inputType="textPersonName" />
                </LinearLayout>

                <ImageView
                    android:id="@+id/eimagen"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:src="@drawable/inserta" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/edescripcion"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/a16"
                    android:gravity="top|left|start"
                    android:text="Descripcion:"
                    android:textColor="@color/NEGRO"
                    android:textSize="@dimen/a15"
                    android:textStyle="bold"
                    android:typeface="sans" />

                <EditText
                    android:id="@+id/edittextdes"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:ems="10"
                    android:inputType="textMultiLine" >

                    
                </EditText>

                    <Button
                        android:id="@+id/editarcrear"
                        android:layout_width="match_parent"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal|center"
                        android:layout_marginTop="15dp"
                        android:background="@drawable/degradadoazul"
                        android:padding="20dp"
                        android:text="Crear"
                        android:textAlignment="center"
                        android:textAllCaps="true"
                        android:textColor="@color/Blanco"
                        android:textStyle="bold"
                        android:typeface="serif" />
                    
            		<Button
            		    android:id="@+id/editarguardar"
            		    android:layout_width="match_parent"
            		    android:layout_height="fill_parent"
            		    android:layout_gravity="center_horizontal|center"
            		    android:layout_marginTop="15dp"
            		    android:background="@drawable/degradadoazul"
            		    android:padding="20dp"
            		    android:text="Guardar"
            		    android:textAllCaps="true"
            		    android:textColor="@color/Blanco"
            		    android:textStyle="bold"
            		    android:typeface="serif" />
                                            
             		<Button
             		    android:id="@+id/editareliminar"
             		    android:layout_width="match_parent"
             		    android:layout_height="fill_parent"
             		    android:layout_gravity="center_horizontal|center"
             		    android:layout_marginTop="15dp"
             		    android:background="@drawable/degradadoazul"
             		    android:padding="20dp"
             		    android:text="Eliminar"
             		    android:textAllCaps="true"
             		    android:textColor="@color/Blanco"
             		    android:textStyle="bold"
             		    android:typeface="serif" />

            </LinearLayout>

        </LinearLayout>
    </ScrollView>

</LinearLayout>
kraneok

#1 Hombre, creo que el problema no reside en el código, si no mas bien en que le cuesta abrir imágenes de 8 mpx, por que, ¿ cuanto pesa cada imagen ?, 3, 4 mb?

Bueno, creo que en realidad esto no tiene mucho sentido. Pero una cosa, ¿ la aplicación se cierra directamente dando algún error ?, o ¿ se mantiene los 5 segundos de rigor hasta que avisa de cerrar o esperar ?

elkaoD

Ignorar las excepciones nunca es buena idea. Nunca.

Tig

sin mirar tu código (es infumable leer código en texto plano), reduce el tamaño de la imagen antes de cargarla.

Y no tiene sentido meter LinearLayout -> ScrollView -> LinearLayout. Puedes quitar el primer linearlayout y que ScrollView sea el nodo padre.