Drawable image = Drawable.createFromPath(newImagepath);
defective_image.setBackgroundDrawable(image);
图像存储在 newImagePath 变量中,该变量是一个字符串。上面抛出了一个 outOfMemory 异常。
我还尝试将图像检索到 Bitmap 对象中。
Bitmap bitmapImg= BitmapFactory.decodeFile(newImagepath);
在上述情况下,bitmapImg 为 Null。(无一例外)
但是,如果将其作为文件检索,则它是成功的。这不符合我的目的,因为我希望这张图片成为 RelativeLayout 的背景。
File imageFile = new File(newImagepath);
String imgPath = imageFile.getAbsolutePath();
imgPath和newImagePath一样,结论是路径没有错。我还验证了图像在 SDCard 中的存在。
此图像是从设备的相机中捕获的。此代码在模拟器上成功运行。在设备上调试时,注意到上述故障。我也试过: -
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;