android中位图大小超过VM预算
在我的android应用程序中,我已将图像设置为ImageView相机拍摄。工作正常。但当我捕获图像并在imageview上设置该图像返回屏幕时,如果我在3到4次出现此错误时位图大小超过VM预算…………请需要任何解决方案android中位图大小超过VM预算,android,Android,在我的android应用程序中,我已将图像设置为ImageView相机拍摄。工作正常。但当我捕获图像并在imageview上设置该图像返回屏幕时,如果我在3到4次出现此错误时位图大小超过VM预算…………请需要任何解决方案 this is my code below : BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 4;
this is my code below :
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
options.inTempStorage = new byte[16 * 1024];
image_from_camera.setImageBitmap(BitmapFactory.decodeFile(
"/sdcard/"+chore_string+".jpg", options));
i have done using bitmap.recycle(); or System.gc();
但这是行不通的。我需要从位图中释放内存,然后再次单击相机按钮在应用程序中拍摄第二张照片。需要帮助吗
谢谢 增加inSampleSize的值将减少加载图像所需的内存开销。将其更改为8、12或16。。。图像最终应该加载,但看起来可能不是很好 然而,在加载之前,您可能正在使用大量内存 使用System.getRuntime()获取运行时,然后查看最大内存、总内存和可用内存,以便更好地了解您有多少空间 在此分配之前,您可能正在泄漏内存
另外(令人烦恼的是)如果你使用的设备不能运行android 3.0,那么运行时调用中不会显示所有使用的内存。考虑使用一个3设备来更全面地理解内存使用。 < P>增加iSimuleSeVE的值将减少加载图像所需的内存开销。将其更改为8、12或16。。。图像最终应该加载,但看起来可能不是很好 然而,在加载之前,您可能正在使用大量内存 使用System.getRuntime()获取运行时,然后查看最大内存、总内存和可用内存,以便更好地了解您有多少空间 在此分配之前,您可能正在泄漏内存 另外(令人烦恼的是)如果你使用的设备不能运行android 3.0,那么运行时调用中不会显示所有使用的内存。考虑使用3设备来更全面地理解内存使用。