Android:屏幕方向错误+ VM不会让我们分配x字节

时间:2013-02-01 10:09:16

标签: android bitmap camera orientation

我在我的Android应用程序中使用相机,并且我将手机设置为纵向模式(cameraView处于横向状态,这是第一件奇怪的事情)当我将手机转为横向模式时,我会收到错误。< / p>

VM won't let us allocate ... bytes

显示的错误行是

setContentView(R.layout.gameactivity);

这篇文章很有意思Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 但我在我的活动中没有使用位图,所以我不知道为什么我会得到关于位图的错误

02-01 10:07:30.301: E/AndroidRuntime(5715): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.content.res.Resources.loadDrawable(Resources.java:1709)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.widget.ImageView.<init>(ImageView.java:118)
02-01 10:07:30.301: E/AndroidRuntime(5715):     at android.widget.ImageView.<init>(ImageView.java:108)
02-01 10:07:30.301: E/AndroidRuntime(5715):     ... 27 more

1 个答案:

答案 0 :(得分:1)

你有内存泄漏 当设备更改布局时,将再次创建活动。很可能你会得到一些巨大的静态变量等,这些变量不会被释放 也许在Manifest中添加“onConfigChanged:orientation”标签可以帮助您防止内存泄漏,但对于每种情况都不是一个好的解决方案。
还有几个站点向您展示如何查找内存泄漏,例如this