/ / Bitmap é sempre nulo, no entanto, o caminho do arquivo está correto - android, android-bitmap

Bitmap é sempre nulo, no entanto o caminho do arquivo está correto - android, android-bitmap

Este é o meu código para carregar Bitmap para dentro ImageView a partir de filepath recuperado de outra atividade.
Eu consigo arquivo, mas Bitmap é sempre null.

Eu tentei com o código de imagem de 250kb funciona bem, mas não funciona com imagens de 1,5 MB.

Mensagem do Logcat:

skia:           --- SkImageDecoder::Factory returned null
Choreographer:  Skipped 855 frames! `The application may be doing too much work on its main thread`.

código

Bundle extras = getIntent().getExtras();
if (extras != null) {
String imagepath = extras.getString("FILEPATH1");
File imgFile = new  File(imagepath);
if(imgFile.exists()){
Bitmap bitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
imgCaptured.setImageBitmap(bitmap);
}
}
}

Respostas:

2 para resposta № 1

Como dizem os Javadocs:

Returns: the resulting decoded bitmap, or null if it could not be decoded.

Portanto, se você conseguir carregar um pequeno bitmapdo mesmo arquivo, mas um arquivo maior falha, é um forte indicador de que o tamanho é um problema. Provavelmente, a decodificação do arquivo JPEG de 1,5 milhão resultaria em um bitmap com mais de 10 milhões de tamanho. Seu telefone não pode carregar uma imagem tão grande.

BTW, você pode estimar o tamanho não compactado da imagem multiplicando a largura e a altura e multiplicando por 4 (um byte por canal: vermelho, verde, azul, alfa).

Por exemplo, um JPEG de 2.6M com 4128x2322 pixels leva cerca de 38340000bytes (38M) quando descompactado.

Isso pode ajudar: Manipulando Bitmaps Grandes