Сбой приложения при использовании ImageDecoder # createSource (contentResolver, uri) - PullRequest
1 голос
/ 08 февраля 2020

Попытка заменить устаревший код для извлечения изображений из Uri

MediaStore # Images # Media # getBitmap (contentResolver, uri)

новым

ImageDecoder # createSource (contentResolver, uri)

Вот мой новый код:

Bitmap thumbNail;
                        if (Build.VERSION.SDK_INT < 28) {
                            thumbNail = MediaStore.Images.Media.getBitmap(
                                    getContentResolver(),
                                    data.getData()
                            );
                        } else {
                            ImageDecoder.Source source = ImageDecoder.createSource(getContentResolver(), data.getData());
                            thumbNail = ImageDecoder.decodeBitmap(source);
                        }

Но я заметил, что каждый раз, когда я пытался использовать его для обработки изображение относительно большого размера от 2 МБ до 3,5 МБ. Приложение вылетает, какое сообщение

Канал неисправно поврежден и будет удален!

Может я что-то не так делаю или он не подходит для обработки больших файлов изображений? Приложение работает нормально, когда я решаю использовать устаревший метод:

MediaStore # Images # Media # getBitmap (contentResolver, uri).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...