Cómo despejar el montón?

Estoy trabajando en una aplicación de cámara. Por primera vez si captura la imagen su funcionamiento bien pero si tomo una imagen otra vez su lanzar un error

ERROR / dalvikvm-heap (2398): 10077696-byte asignación externa demasiado grande para este proceso "VM no nos permite asignar 10077696 bytes" y finalmente "05-02 05: 35: 38.390: ERROR / AndroidRuntime (2398): EXCEPCIÓN FATAL: principal 05-02 05: 35: 38.390: ERROR / AndroidRuntime (2398): java.lang.OutOfMemoryError: tamaño de mapa de bits supera el presupuesto de VM

Y la fuerza de aplicación se cierra .. cómo manejar esto cómo despejar heap y vm? Por favor ayuda .. Gracias de antemano ..

Encontré la respuesta.
He utilizado el siguiente código:

BitmapFactory.Options bfOptions=new BitmapFactory.Options(); bfOptions.inDither=false; //Disable Dithering mode bfOptions.inPurgeable=true; //Tell to gc that whether it needs free memory, the Bitmap can be cleared bfOptions.inInputShareable=true; //Which kind of reference will be used to recover the Bitmap data after being clear, when it will be used in the future bfOptions.inTempStorage=new byte[32 * 1024]; CameraTricks.SdCardImage= BitmapFactory.decodeFile(CameraTricks.yu,bfOptions); CameraTricks.yu is my path to bitmap 

No lo haces. Puede reiniciar el dispositivo con suavidad, pero dudo que haga algo bueno. El recolector de basura de Android debe encargarse de ello.

Lo más probable es que la aplicación utilice demasiada memoria para alguna operación. Puede usar DDMS para comprobar el consumo de memoria ( lea aquí ).

Puede leer sobre temas similares en todos estos enlaces:

Parece que un tema común es la carga de varias imágenes grandes. Asegúrese de no mantener referencias a las imágenes (o cualquier otro objeto grande) que no utilice más, por lo que el recolector de basura puede recuperar esa memoria. Utilice Bitamp.recycle() , por ejemplo.

Por último, asegúrese de leer el artículo Evitar fugas de memoria .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.