OutofMemoryError:位图大小超出 VM 预算(Android) [英] OutofMemoryError: bitmap size exceeds VM budget (Android)
问题描述
在 BitmapFactory 中获取异常.不确定是什么问题.(嗯,我可以猜到这个问题,但不知道为什么会发生)
Getting an Exception in the BitmapFactory. Not sure what is the issue. (Well I can guess the issue, but not sure why its happening)
ERROR/AndroidRuntime(7906): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
ERROR/AndroidRuntime(7906): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:295)
我的代码非常简单.我定义了一个带有默认图像的 XML 布局.我尝试在 SDCard 上加载 bm(如果存在 - 它是).如果不是,则显示默认图像.无论如何..这是代码:
My code is pretty straight forward. I defined an XML layout w/ a default image. I try to load a bm on the SDCard (if present - it is). If not it shows the default image. Anyway.. Here is code :
public class showpicture extends Activity {
public void onCreate(Bundle savedInstanceState) {
/** Remove menu/status bar **/
requestWindowFeature(Window.FEATURE_NO_TITLE);
final Window win = getWindow();
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Bitmap bm;
super.onCreate(savedInstanceState);
setContentView(R.layout.showpicture);
try {
ImageView mImageButton = (ImageView)findViewById(R.id.displayPicture);
bm = Bitmap.createScaledBitmap(BitmapFactory.decodeFile("/sdcard/dcim/Camera/20091018203339743.jpg"),100, 100, true);
parkImageButton.setImageBitmap(bm);
}
catch (IllegalArgumentException ex) {
Log.d("MYAPP",ex.getMessage());
}
catch (IllegalStateException ex) {
bm=Bitmap.createScaledBitmap
失败有什么想法吗?我在论坛上做了一些研究,它指向 这篇文章一>我只是不知道为什么它不起作用.任何帮助都会很棒!谢谢,
It fails on the bm=Bitmap.createScaledBitmap
any thoughts? I did some research on the forums, and it pointed to this post
I just don't know why it is not working. Any help would be great! Thanks,
克里斯.
推荐答案
http://code.google.com/p/android/issues/detail?id=8488
http://mobi-solutions.blogspot.com/2010/08/how-to-if-you-want-to-create-and.html
这篇关于OutofMemoryError:位图大小超出 VM 预算(Android)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!