Tengo un mapa personalizado sin conexión implementado dibujando mosaicos de mapa de bits en el lienzo. Estoy tratando de eliminar las creaciones de objeto para reducir las carreras de GC y, por lo tanto, hacer que el desplazamiento del mapa sea más suave. Veo en Allocation Tracker que BitmapFactory.decodeFile (...) siempre crea el objeto byte [16400]. Pensé que el establecimiento de campo inTempStorage de BitmapFactory.Options cambiaría eso:campo BitmapFactory.Options.inTempStorage
byte[] buffer = new byte[16*1024];
// ...
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Config.RGB_565;
options.inTempStorage = buffer;
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
Pero incluso con este código Todavía veo decodeFile crear el [] matriz de bytes. ¿Entonces, cuál es el problema?