Я перебираю фотографии на Android, обрезаю лица и сохраняю JPEG только с лицом. Этот процесс занимает некоторое время, в основном потому, что функция insertImage занимает до секунды на фотографию:
Bitmap newBitnmap;
try{
newBitnmap = Bitmap.createBitmap(myBitmap, a, b, c, d);
}catch(Exception e1){
Log.d(TAG, "doInBackground: error: " + e1);
return "error";
}
Log.d(TAG, "doInBackground: after new bitmap");
try {
Log.d(TAG, "detectAndCrop: 1");
fOutputStream = new FileOutputStream(newImageFile);
Log.d(TAG, "detectAndCrop: 2");
newBitnmap.compress(Bitmap.CompressFormat.JPEG, 60, fOutputStream);
Log.d(TAG, "detectAndCrop: 3");
fOutputStream.flush();
Log.d(TAG, "doInBackground: 3.1");
fOutputStream.close();
Log.d(TAG, "doInBackground: 3.2");
MediaStore.Images.Media.insertImage(mContext.getContentResolver(), newImageFile.getAbsolutePath(), newImageFile.getName(), newImageFile.getName());
Log.d(TAG, "detectAndCrop: 4");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e3) {
e3.printStackTrace();
}
Мне просто интересно, обычно ли это время, чтобы сохранить jpeg на диск в Android, или я что-то не так делаю?