【发布时间】:2014-08-13 10:29:42
【问题描述】:
这是我将 Bitmap 从另一个活动中检索到的 filepath 加载到 ImageView 的代码。
我可以获取文件,但Bitmap 始终是null。
我已尝试使用 250kb 的图像代码可以正常工作,但它不适用于 1.5MB 的图像。如何解决此问题?
Logcat 消息:
skia: --- SkImageDecoder::Factory returned null
Choreographer: Skipped 855 frames! `The application may be doing too much work on its main thread`.
代码
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);
}
}
}
【问题讨论】:
-
发布完整代码。你在用
AsyncTask吗? -
您在自己的问题中有答案,请为 Bitmap 工作创建一个单独的线程。
-
@SmartphoneDeveloper:在单独的线程中它也给出了 null。我之前也试过!
-
您确定 imgFile 是有效的图像文件吗?
-
你的绝对路径是什么?