gpt4 book ai didi

android - 位图大小超出 VM 预算在 android 中

转载 作者:行者123 更新时间:2023-11-30 04:25:04 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我在 ImageView 上设置了由相机捕获的图像。它工作正常。但是当我捕获图像并返回到屏幕并在 imageview 上设置该图像时,如果我这样做 3 到 4 次,我会得到这个错误位图大小超过 VM 预算 ..................... ...请需要任何解决方案。

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() 获取运行时间,然后查看您的最大内存、总内存和可用内存,以便更好地了解您有多少空间。

您可能在此分配之前泄漏了内存。

http://developer.android.com/reference/java/lang/Runtime.html

另外(恼人的是)如果您使用的设备无法运行 android 3.0,则并非所有使用的内存都会显示在运行时调用中。考虑使用 3.0 设备以更全面地了解内存使用情况。

关于android - 位图大小超出 VM 预算在 android 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com