Red de conocimiento informático - Material del sitio web - Cómo determinar si un mapa de bits está vacío

Cómo determinar si un mapa de bits está vacío

Android determina si se ha utilizado un objeto de mapa de bits. Puede utilizar el método isRecycled() del atributo de mapa de bits para determinar si se ha reciclado, es decir, no se ha utilizado, el código es el siguiente:

//Juzgue primero si ha sido reciclado

if(bitmap != null && !bitmap.isRecycled()){

// Reciclar y establecer en nulo

bitmap.recycle ();

bitmap = null;

}

El constructor de la clase Bitmap es privado. El método constructor de la clase Bitmap es privado, por lo que los desarrolladores no pueden crear objetos Bitmap directamente, sino que solo pueden crear instancias de Bitmaps utilizando los distintos métodos estáticos de la clase BitmapFactory. Una mirada más cercana al código fuente de la clase BitmapFactory revelará que la generación de objetos Bitmap se logra en última instancia mediante llamadas JNI. Por lo tanto, una vez cargado el mapa de bits en la memoria, contiene dos partes del área de memoria. En pocas palabras, es parte Java y parte C. El sistema reciclará automáticamente el objeto Bitmap asignado parcialmente por Java cuando no esté en uso, pero la máquina virtual no puede reciclar directamente el área de memoria disponible de C correspondiente. En este momento, solo se puede llamar a la función subyacente para liberarlo. Por lo tanto, debe llamar al método recycle() para liberar la memoria de la parte C.