Я пытаюсь получить простой рабочий стол decodeFile
, и я теряю сознание.BitmapFactory.decodeFile возвращает null с надлежащим файлом
Ниже код возвращает null
в то время как LogCat говорит: D/skia﹕ --- decoder->decode returned false
Aldo иногда удается работать (один из MBY 50 раз).
try {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = true;
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
canvasBitmap = BitmapFactory.decodeFile(myFile.getAbsolutePath(), opt);
} catch (OutOfMemoryError e) {
Log.d(TAG, "Trace: " + e);
System.gc();
try {
Log.d(TAG, "Trying again");
canvasBitmap = BitmapFactory.decodeFile(myFile.getAbsolutePath());
} catch (OutOfMemoryError e2) {
Log.d(TAG, "Trace: " + e2);
Log.d(TAG, "Out of memory!!!!!!!");
}
}
Файл определяется и getAbsolutePath возвращает /storage/emulated/0/Pictures/Screenshots/Screenshot_2015-07-28-16-18-56.png
Файл основном скриншот взят на телефон, он может быть открыт только штраф на галерею приложений и ПК, так что это не поврежден.
Если по какой-то причине это просто не будет работать, есть ли какие-либо пользовательские библиотеки с их собственными декодерами? Я пробовал пару библиотек, но все они, похоже, используют один и тот же decodeFile.
Я тестирую на nexus 4, поэтому изображение 760p.
В этом коде ничего не вернулось. Что тогда было бы ложным? – greenapps
'Log.d (TAG," Trace: "+ e);'. Это даже не компилируется. – greenapps
@greenapps Ему нужно установить растровое изображение из файла, тэг журнала компилируется на моей стороне, проверьте импорт. – Domiq